Имеет ли геттер нулевую стоимость?

У меня есть простой класс:

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;
}
5
задан ks1322 24 October 2011 в 09:53
поделиться