A segunda declaração na função chamada atribui um novo valor para não, atribuir automaticamente o novo valor para theInt, porque ambos os identificadores de identificar o mesmo objeto. A função chamada não tem uma instrução de retorno, embora sua definição começa com um tipo de retorno. Isto é aceitável. Voltar na função principal: A função chamada é chamado pela segunda declaração na função principal. A função chamada executa antes da próxima (terceira) declaração na função principal é executado.
Nós não atribuir qualquer valor de retorno da função chamada a qualquer objeto (identificador) na função principal. Nós não poderia fazer isso porque a função chamada não retorna nada (não tinha nenhuma instrução de retorno). A terceira declaração na função principal exibe o valor da theInt, que é o mesmo valor que para não na função de chamada. Note-se, ao passar por referência, o parâmetro (função chamada) é o endereço de um objecto (identificador), mas o argumento (função de chamada) é um identificador e não o endereço de um objecto (identificador).
Nota: Quando passando um apontador para uma função, um novo objecto (tal como, sem no código anterior) é criado e inicialização ocorre entre o parâmetro (chamado função) e o argumento (função de chamada). No caso de uma passagem de referência, tanto o identificador (tais como, sem acima) do parâmetro e o identificador do argumento, identificar o mesmo objecto; nenhum novo objeto é criado. Valor padrão no Parâmetro Imagine que você quer uma função de estar adicionando dois valores. Um pode estar mudando, mas o outro não deve mudar.
O que não pode mudar é chamado o valor padrão e pode ser codificada na lista de parâmetros da função. Leia e tente o seguinte código que ilustra isso: #include using namespace std; fn void (int p, int q = 20) {int w = p + q; cout} int main () {int p = 15; fn (p); retornar 0; } Você pode usar uma inicialização para o valor padrão no parâmetro (que não seguem com um ponto e vírgula). Se você não g