Pregunta

¿Podría alguien explicar con algunos ejemplos cuándo es mejor llamar a funciones por referencia y cuándo es mejor llamar por dirección?

¿Fue útil?

Solución

Pase sus argumentos para funcionar usando la referencia siempre que sea posible. Al pasar los argumentos por referencia se elimina la posibilidad de que sean NULL. Si desea que sea posible pasar un valor NULL a una función, use el puntero.

Otros consejos

Esto ya ha sido discutido. Consulte Pointer vs. Reference .

Una buena convención es:

  • Pase los objetos por el puntero siempre que puedan ser manipulados ( efecto secundario o como salida ) por la función.
  • Pase todos los demás objetos por referencia constante .

Esto lo deja muy claro para la persona que llama, con documentación mínima y costo de rendimiento cero, qué parámetros son constantes o no.

También puede aplicar esto a tipos primitivos, pero es discutible si necesita o no usar referencias const para parámetros que no son de salida, ya que son claramente pasados ??por valor y no pueden actuar como salida de la función de cualquier manera (para tipos directos, no punteros / referencias, por supuesto).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top