在同一个类中使用访问器

Cha*_*unt 3 c++ accessor

我听说在C++中,get...()在定义访问器的同一个类的成员函数中使用accessor()是一个很好的编程习惯吗?是真的吗?应该这样做吗?

例如,这是首选:

void display() {
    cout << getData();
}
Run Code Online (Sandbox Code Playgroud)

在这样的事情:

void display() {
    cout << data;
}
Run Code Online (Sandbox Code Playgroud)

data是定义访问器的同一类的数据成员...与display()方法相同.

我正在考虑这样做的开销,特别是如果你需要在同一个类中多次调用访问器而不是直接使用数据成员.

Zif*_*fre 9

这样做的原因是,如果更改实现getData(),则不必更改直接访问的其余代码data.

而且,智能编译器无论如何都会内联它(它总是知道类中的实现),因此没有性能损失.