As demonstrações na definição da função usar essa inicialização escondido. A primeira linha nas estampas de definição de função AFN o valor apontado por nenhuma; Essa é a primeira linha é impressa * nenhuma. A partir da inicialização oculta, esse valor é 88. A segunda declaração na definição inicializa um novo identificador int, anInt, com o valor 77. Os terceiros cópias de instrução O endereço do objeto identificado pelo anInt, para tornar-se o conteúdo do objeto identificado pelo não. não agora pointes a um objeto cujo valor é 77 em vez do objeto cujo valor é 88.
A quarta declaração na definição retorna o novo valor apontado pelo não, que é * não, que é agora 77. Voltar para a função principal: Quando o programa começa, as declarações na função principal são executados primeiro. A primeira declaração na função principal atribui o valor 88 para o objeto identificado pelo myInt. A segunda declaração na função principal chama a função, AFN. A terceira declaração na principal só é executado após esta função chamada terminar a execução. Quando a execução da função chamada, AFN for concluída, a função AFN retorna o valor 77.
Esse valor é atribuído ao objeto int identificado por hisRet na função principal. Depois disso, a execução das instruções na função principal continua. Em seguida é a instrução cout (terceira declaração) na função principal. Isto imprime o valor de hisRet, que é 77. Eu vou comentar sobre a última declaração, "return 0;" mais tarde. Passando referência a uma função O parâmetro de uma função pode ser o endereço (referência) 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 () {int theInt = 88; AFN (theInt); cout retornar 0; } Como o programa é iniciado, 88 é atribuído ao objeto cujo identificador é theInt. A próxima instrução na função principal chama a função, AFN, passando o identificador do objeto cujo valor é de 88 como ar