次のように、const にオーバーロードされた memberfunction を持つ c++ クラスがあるとします。
Type* DoSomething();
const Type* DoSomething() const;
これがより大きく、より複雑なメンバーである場合、同じコードを 2 回記述する必要がないようにするにはどうすればよいでしょうか? const 関数から非 const 関数を呼び出すことはできません。また、const 以外のバージョンから const バージョンを呼び出すと、const ポインターが生成され、const 以外にキャストする必要があります (少し匂いがします)。