在返回对要修改的参数的引用的类中创建“getter”函数是一种常见的做法。我的问题是这是否是一种缓存友好的做法,因为我怀疑每次调用“getter”方法时,缓存都会被冲走以跳转到该方法。
谁能告诉我这是否属实或给我一些指示?这是一个例子:
class X
{
public:
int& getA() { return a; }
int& getB() { return b; }
private:
int a, b;
};
int main()
{
X x; // cache should contain x data
x.getA() = 0u; // cache destroyed because of calling getA()?
x.getB() = 1u; // cache destroyed again because of calling getB()?
}