Здравствуйте, _Dreamer, Вы писали:
...
_D>вызвать const версию например так
_D>_D>A a_;
_D>a_.f(); // non-const
_D>const_cast<const A&>(a_).f(); // const
_D>
В этом случае будет достаточно и static_cast'a. Зачем использовать const_cast кроме как для снятия константности с пути доступа? Это ведь его основное предназначение.