que tienen una clase simple:¿Tiene un getter cero costo?
class A {
public:
int get() const;
private:
void do_something();
int value;
}
int A::get() const {
return value;
}
La función getter es sencilla y directa. Los Getters deben usarlos, así que en do_something debo usar get()
para acceder al value
. Mi pregunta es: ¿el compilador optimizará el getter, por lo que será equivalente a acceder a los datos directamente? O aún obtendré rendimiento si tengo acceso directo (¿qué implicaría un peor diseño)?
A::do_something()
{
x = get();
// or...
x = value;
}
La verdadera pregunta, por supuesto, es: * ¿Importa *? Porque si no lo hace, ¿a quién le importa? Y si lo hace, solo usted puede verificar si su compilador en particular realiza la optimización. –