我有有成员方法f和g,两者均由常量重载的类。调用f()中的g()有 。 f和const f的方法体是相同的。C++常量过载和代码共享
class X {
void f() {/body ... g() /} const;
void f() {/body g() /};
void g() const;
void g();
};
因为f()和g()具有相同的方法体的话,真希望有一种方法, 而不是有重复码f和const F的复制。而且,当为const对象执行f()的主体时,我希望对非const对象执行明显的const g() (对非const对象,非const对象则为非const g())。
@ cu3dots:他意味着'克()'函数不同,和'F( )const'可能会调用'克()const'甚至对非const X. –
不一个常过载常量性传播的返回值(而不是常量性来获得不同的行为)?有没有超过眼睛? – visitor