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沒關係。你可以複製粘貼到答案,以便我可以接受它? –