Pergunta

Alguém poderia explicar com alguns exemplos em que é melhor para as funções de chamada por referência e quando é melhor chamar por endereço?

Foi útil?

Solução

Passe os seus argumentos para a função usando referência sempre que possível. Passando argumentos por referência eliminar a possibilidade de eles serem NULL. Se você quer que seja possível passar o valor NULL para uma função, em seguida, uso ponteiro.

Outras dicas

Esta já foi discutido. Consulte Pointer vs. Referência .

Uma boa convenção é:

  • passar objetos por ponteiro sempre que eles podem ser manipulados ( efeito colateral ou como saída ) pela função.
  • Passe todos os outros objetos por referência const .

Isto torna muito claro para o chamador, com documentação mínima e custo de desempenho zero, quais parâmetros são const ou não.

Você pode aplicar isso para tipos primitivos, bem como, mas é discutível se ou não você precisa usar referências const para os parâmetros não-saída, uma vez que eles são claramente passar por valor e não pode atuar como saída da função de qualquer forma (para tipos diretos - e não ponteiros / referências - é claro).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top