Как и в случае с Скоттом Мейерсом, чтобы предотвратить повторение кода в версии-константе геттера и неконстантной версии геттера, вызовите версию версии метода из неконстантной версии: static_cast<const A&>(*this).Methodology();
однако, в случайном порядке использование из-за чрезмерного зрения Visual Assist X Intellisense Я набрал: const_cast<const A&>(*this).Methodology();
, и он работал отлично.Разница между C++ между добавлением константы с static_cast и const_cast этого «объекта»?
Каковы все различия в этом случае с использованием конкретного броска?
IDE в использовании: Visual Studio 2010.
Интересно, почему Scott продвигает использование static_cast, в то время как const_cast кажется более подходящим выбором здесь, а также более четко выражает намерение? Или вы не используете его точно так, как он имел в виду? – stijn
@stijn: Я тоже задавался вопросом о том же. 'const_cast' чувствует себя немного более естественным для меня даже для более безопасного направления добавления' const'. –
@CharlesBailey: см. Мой ответ, чтобы понять, почему он не продвигал друг друга. – Casey