难道你不讨厌
class Foobar {
public:
Something& getSomething(int index) {
// big, non-trivial chunk of code...
return something;
}
const Something& getSomething(int index) const {
// big, non-trivial chunk of code...
return something;
}
}
我们不能用另一个方法实现这两个方法中的任何一个,因为您不能从 const
版本调用非 const
版本(编译器错误)。
一个强制转换将需要从非 const
版本调用 const
版本。
有没有一个真正优雅的解决方案,如果没有,什么是最接近的一个?