3
struct BananaHolder
{
vector<Banana>& getBananas();
const vector<Banana>& getBananas() const;
};
我的课程杂乱无章。避免重复const和非const版本的getters?
是否有更清洁,更优雅的替代品?
struct BananaHolder
{
vector<Banana>& getBananas();
const vector<Banana>& getBananas() const;
};
我的课程杂乱无章。避免重复const和非const版本的getters?
是否有更清洁,更优雅的替代品?
如果你的类有返回引用,并且它在调用可修改对象时必须返回对可修改向量的引用,那么我认为没有办法避免重复 - 至少,不是重复的声明。
请注意,某些类型的标准库也存在同样的问题。例如,序列容器例如std::vector
同时具有const
和非const
过载operator []
,at()
,back()
,front()
,data()
等等。
也许总是返回引用不是最好的选择。 – chris
在我的情况下,它是必需的。 –
@AndyProwl没关系。你可以复制粘贴到答案,以便我可以接受它? –