[LHC] Duvida de C, ponteiros
Gabriel Hidasy
gabrielhidasy at gmail.com
Fri May 8 04:16:20 PDT 2015
Pelo que eu testei é syntax sugar, o efeito é o mesmo, mas sem precisar
enviar explicitamente o endereço e dereferenciar dentro da outra função.
void mudaValor(int & valor){
valor = 5;
}
int meuInteiro = 0;
mudaValor(meuInteiro);
printf("Meu novo valor é: %d", meuInteiro");
Resultado >> Meu novo valor é: 5
Mas não compilou como C, só como C++.
IMHO isso cria ainda mais possibilidades de side effects inesperados e
malvados
2015-05-08 4:28 GMT+02:00 Gabriel Krisman Bertazi <gabriel at krisman.be>:
> Fabio Mello <fabiohmello at gmail.com> writes:
>
> > opa, não sei se isso existem em c, mas em c++ isso indica que o
> > parâmetro é uma referência para o objeto, e não um ponteiro.
>
> Referencias deste tipo não existem em C, só em C++.
>
> > não usei isso na prática, mas acredito que vc acessaria como
> > obj.method() em caso de referência e como obj->method() em caso de
> > ponteiro.
> >
> > tbm não existe aritmética de referências como existe a de ponteiros,
> > como p++ para apontar para o próximo elemento.
>
> Isso. A referência praticamente "amplia o escopo" da variável
> referenciada para dentro da função ou método que a recebe.
>
> Na prática é mais uma das infinitas coisas bloated e replicadas de C++
> que obscurecem ainda mais o código. Claro que na minha opinião. :)
>
> Algumas explicações e uma certa crítica:
>
> http://yosefk.com/c++fqa/ref.html
>
> --
> Gabriel Krisman Bertazi
>
> _______________________________________________
> Lista do LHC <http://lhc.net.br>
> HSC at listas.tia.mat.br
> http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.tia.mat.br/pipermail/hsc-tia.mat.br/attachments/20150508/c5f758df/attachment.html>
More information about the HSC
mailing list