Sé cuál es la diferencia y cómo funcionan ambos, pero esta pregunta es más sobre el estilo de codificación.Puntero vs variable en la clase
Cada vez que estoy codificando hago muchas clases, todas tienen variables y algunas de ellas son punteros y algunas son variables normales. Por lo general prefieren las variables a punteros si que los miembros dura tanto como lo hace la clase pero entonces mi código se convierte de esta manera:
engine->camera.somevar->x;
// vs
engine->camera->somevar->x;
no me gusta el punto en el medio. O con variables privadas:
foo_.getName();
// vs
foo_->gatName();
Creo que el punto "desaparece" en un código largo. Encuentro que -> es más fácil de leer en algunos casos.
Mi pregunta sería si utiliza punteros incluso si la variable se creará en el constructor y se eliminará en el destructor. ¿Hay algún consejo de estilo en este caso?
P.S. Creo que el punto se ve mejor en algunos casos.
Bueno, pero ¿qué pasa con los miembros frente a los punteros inteligentes (en el código de implementación)? – user396672
@ user396672: ¿Qué hay de ellos? Un puntero inteligente es solo un objeto como cualquier otro. Su trabajo es administrar un solo puntero. –
bueno, algunas clases tienen variables públicas y no veo ninguna razón para hacerlas privadas. Solo realizo variables privadas si el trabajo de clase puede corromperse por el uso no válido de ellas. Si están en la clase solo para que la estructura del programa sea más agradable, por qué no. Por ejemplo, el ejemplo con motor. Cuando codigo cualquier juego (hago juegos de mierda a veces. Es muy divertido), hago un "motor" de puntero externo porque lo usan muchos otros objetos. Y ese motor generalmente contiene cosas como la cámara en el ámbito público. Lo hago porque otros objetos tienen que acceder a la clase de cámara y no pueden arruinar el motor. – Pijusn