C++ três métodos de passagem de parâmetro de função

C++ três métodos de passagem de parâmetro de função

passar por valor

A passagem por valor é a forma mais comum, ou seja, uma cópia do parâmetro real é normalmente passada para o parâmetro formal e a função não pode alterar o valor do parâmetro real.

passagem de endereço

É passar o endereço do parâmetro real para o parâmetro formal, porque os endereços apontados pelo parâmetro formal e o objeto do parâmetro real são os mesmos, então o objeto apontado pelo parâmetro formal é o objeto do parâmetro real. A essência da passagem de um endereço é também a passagem de um valor . O que é passado é um endereço. A característica da passagem de valor é que qualquer operação da função chamada nos parâmetros formais é realizada como uma variável local, o que não afetará o valor do parâmetro real da função de chamada, mas porque O endereço é passado, então a variável neste endereço é realmente alterada. Parâmetros formais e parâmetros reais são realmente independentes um do outro. Como o endereço é passado, se a operação ++ for executada no ponteiro passado, o valor do parâmetro real não poderá mais ser alterado , muitos ponteiros serão modificados com const ao passar ponteiros.

passar por referência

Passar por referência transfere diretamente o endereço de memória do parâmetro real para o parâmetro formal sem nenhuma cópia , ou seja, as duas variáveis ​​apontam diretamente para o mesmo objeto, e o parâmetro formal é equivalente a outro alias do parâmetro real, então quando o o parâmetro formal muda, o parâmetro real também muda. Passar um ponteiro é um valor variável, que é essencialmente a passagem de valor, enquanto passar uma referência é diretamente um endereço, então o parâmetro formal é considerado como endereçamento indireto. Portanto, as operações em parâmetros formais afetam os parâmetros reais.

Acho que você gosta

Origin blog.csdn.net/TABE_/article/details/126734252
Recomendado
Clasificación