Referência de passagem por valor vs. passagem por Rvalor em parâmetros de função
Ao definir uma função que recebe um argumento de um tipo específico, você tem duas opções principais: passagem por valor ou referência de passagem por valor. A passagem por valor cria uma cópia do argumento, enquanto a referência de passagem por rvalue usa a referência rvalue (temporária) para o argumento, permitindo que ele seja movido para a função.
Principais diferenças
Além da distinção principal entre copiar e mover, há diversas diferenças importantes a serem consideradas:
A escolha entre passagem A referência -por valor e passagem por valor tem implicações para a interface da função:
Passagem por valor:Indica que a função assume a propriedade do argumento
Livia o chamador do gerenciamento do tempo de vida do argumentoSinaliza que o chamador abre mão do controle do argumento
Aplica uma separação clara de propriedade entre o chamador e a funçãoA diferença de eficiência entre a referência de passagem por valor e a referência de passagem por valor depende da semântica do tipo de argumento:
Grandes estruturas de dados:
A referência de passagem por valor pode melhorar significativamente a eficiência se o tipo de argumento contiver uma grande estrutura de dados que possa ser movida de maneira barata. Isso evita fazer uma cópia cara.Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3