A segunda declaração é interpretada como este: & herInt (incluindo o &) torna-se o endereço do objeto, hisInt. O endereço do objecto hisInt serão armazenados em alguma região em memória; você será capaz de acessá-lo com & herInt (incluindo o &). Observe a posição do & e o identificador do objeto real no segundo comunicado. Observe também que o nome associado com a referência é introduzida nesta segunda declaração. Vejamos a terceira declaração; & herInt como uma entidade é um ponteiro. Um ponteiro é um endereço a um objeto na memória.
Na seção anterior vimos uma interpretação formal de um ponteiro. Se você ler a seção de novo, você vai perceber que algo como: & herInt é também um ponteiro. Agora que & herInt é um ponteiro, que pode excluir a referência a ter o valor indicado pela entidade, & herInt, que é, neste caso, 5. Isto é o que é feito no terceiro comunicado. De começar com o operador de remoção de referência, *, o qual é seguido pela entidade, & herInt, em parênteses. Neste caso, os parênteses são opcionais. A terceira instrução envia o valor de hisInt para a saída.
Você cria uma referência de inicialização como no segundo declaração no segmento acima. Nota: Você não pode separar a declaração da referência ea atribuição do objeto apontado, em duas instruções diferentes, como você faz com ponteiros. Medida em que o objecto pontiagudo está em causa, você pode dividir a instrução de inicialização para instruções de declaração e de atribuição.
Leia e tente o seguinte código que ilustra tudo o que: #include using namespace std; int main () {int hisInt; int & herInt = hisInt; hisInt = 5; cout retornar 0; } Note que no código acima o objeto apontado foi declarada antes da inicialização da referência. Referência como parâmetro Function O parâmetro de uma função pode ser uma referência (endereço de um objeto). O código a seguir ilustra isso: #include using namespace std; int AFN (int & não) {cout não há = 77; } Int main () {i