Предположим, у меня есть базовый класс со следующей виртуальной функцией:
virtual int* get(){ return nullptr; }
и
Я хотел бы предоставить *Версия 1010 * (имейте в виду, что я имею в виду около 50 различных реализаций в унаследованном коде)
const int* get() const { return const_cast<decltype(this)>(this)->GetReturn(); };//NEED CODE BADLY: const_cast :/
Но эта идея должна использовать const_cast
- Скотт Мейер предлагает этот подход в своей книге (хотяситуация перевернута) - но действительно ли это безопасно (если да, это также «перспективно»?), например, от того, что члены являются постоянными?
Я могу изменить ситуацию с помощью поиска / замены, но имеяобе реализации во всех классах, кажется, слишком много «паттерна копирования-вставки».