У меня есть простой класс:
class A {
public:
int get() const;
private:
void do_something();
int value;
}
int A::get() const {
return value;
}
Функция getter проста и понятна. Геттеры должны использоваться, поэтому в do_something я должен использовать get()
, чтобы получить доступ к value
. Мой вопрос: будет ли компилятор оптимизировать getter, так что это будет эквивалентно прямому доступу к данным? Или я все же выиграю в производительности, если буду обращаться к ним напрямую (что будет означать худший дизайн)?
A::do_something()
{
x = get();
// or...
x = value;
}