避免重复 const 和非 const 版本的 getter?

Vit*_*meo 4 c++ getter c++11 function-qualifier explicit-object-parameter

struct BananaHolder
{
    vector<Banana>& getBananas();
    const vector<Banana>& getBananas() const;
};
Run Code Online (Sandbox Code Playgroud)

我的课程充满了这种重复。

有没有更干净、更优雅的替代方案?

And*_*owl 5

如果您的类必须返回引用,并且在可修改对象上调用时必须返回对可修改向量的引用,那么我认为没有办法避免重复 - 至少不能避免重复声明。

请注意,某些类型的标准库也遇到同样的问题。例如,序列容器std::vector具有、、、、等constconst重载和非重载。operator []at()back()front()data()