paulo1205
(usa Ubuntu)
Enviado em 11/02/2016 - 00:43h
robgeek escreveu:
Boa tarde!
Sou novo em C++ e queria saber como eu leio ou entendo essa declaração:
bool exemplo1(const Number &a, const Number &b)
Eis uma pergunta básica. Você não está seguindo algum livro ou método de C++, que lhe explique isso?
Em todo caso, eis o significado: "
exemplo1 é uma função que recebe como primeiro argumento (
a) uma referência para dado constante do tipo
Number, como segundo argumento (
b) uma referência para dado constante do tipo
Number, e devolve ao retornar um valor do tipo
bool”.
Uma referência em C++ é grosseiramente análoga a um ponteiro, no sentido de que é usada para apontar para dados originalmente armazenados em outras variáveis, mas tem algumas diferenças, entre as quais:
(1) a associação entre o objeto real e a referência para ela não precisa (nem pode ter) do operador
& aplicado ao objeto original (o compilador sabe que é uma referência e obtém o endereço por você);
(2) a associação é feita no momento em que a referência passa a existir no escopo de execução do programa (não existe referência pendente de associação);
(3) uma vez feita a associação de uma referência a um objeto, essa associação nunca será alterada, até que a referência saia do escopo de execução (quando ela deixa de existir);
(4) uma referência sempre se refere a um dado válido (i.e. não existe análogo ao ponteiro nulo para referências);
(5) na hora de manipular o objeto por meio da referência, não é necessário (nem possível) usar o operador
* (o compilador sabe que é uma referência, e a derreferencia para você);
(6) a referência funciona como sinônimo exato do objeto que ela referencia (i.e. qualquer operação aplicada sobre a referência é exatamente equivalente ao que aconteceria se a mesma operação fosse feita sobre a variável original, incluindo aplicar o operador
&, que serve para obter o endereço de um objeto).