Imagínese que tengo una clase de C++ y una barra de Foo clase que tiene que ser creado con un constructor en el que se pasa un puntero Foo, y este puntero tiene la intención de permanecer inmutable en la instancia del ciclo de vida bar. ¿Cuál es la forma correcta de hacerlo?¿Cómo inicializar un campo const en el constructor?
De hecho, pensé que podría escribir como el código de abajo pero no compila ..
class Foo;
class Bar {
public:
Foo * const foo;
Bar(Foo* foo) {
this->foo = foo;
}
};
class Foo {
public:
int a;
};
Cualquier sugerencia es bienvenida.
+1, aunque recientemente he aprendido aquí que las variables comenzando con guión bajo ahora * oficialmente * reservado ;-) –
Solo si están seguidos de una letra mayúscula. – GManNickG
o están en el alcance del espacio de nombres! O son seguidos por otro guion bajo. Así que sí, es técnicamente legal en este caso, pero diría que es más fácil fingir que son reservados y no usarlos en absoluto. :) – jalf