Una pregunta muy básica, pero aún así, sería bueno saber de los gurús de C++ que hay.¿Cuáles son las diferencias entre las definiciones de parámetros como (tipo y nombre) y (tipo * nombre)?
Existen dos formas bastante similares de declarar parámetros de referencia por referencia en C++.
1) El uso de "asterisco":
void DoOne(std::wstring* iData);
2) El uso de "signo":
void DoTwo(std::wstring& iData);
¿Cuáles son las implicaciones de cada método? ¿Hay alguna gotcha en cualquier caso?
Bono n. ° 1: ¿Cuál sería una forma formal de llamar al método en los números 1 y 2? ¿Los dos son llamados "por referencia"?
Bonificación n. ° 2: std :: wstring se usa deliberadamente. ¿Cuáles serían las implicaciones para las clases de biblioteca estándar en cada caso?
Se han dicho muchos aspectos sobre los argumentos de referencia/puntero. Eche un vistazo aquí también: http://stackoverflow.com/questions/57483/difference-between-pointer-variable-and-reference-variable-in-c. – xtofl