Según Scott Meyers, para evitar la repetición del código en la versión const de un getter y la versión no const de un getter, llame a la versión const del método de la versión no const: static_cast<const A&>(*this).Methodology();
sin embargo,, en accidental uso debido a un exceso de visión Visual Intellist X Intellisense escribí: const_cast<const A&>(*this).Methodology();
y funcionó bien.C++ ¿diferencia entre agregar const-ness con static_cast y const_cast de "este" objeto?
¿Cuáles son todas las diferencias en este caso con el uso de un modelo en particular?
IDE en uso: Visual Studio 2010.
Me pregunto por qué Scott promueve el uso de static_cast, mientras que const_cast parece una opción más adecuada aquí, también expresa más claramente la intención? ¿O no lo estás usando exactamente de la manera en que se refería? – stijn
@stijn: Me he preguntado lo mismo también. 'const_cast' se siente un poco más natural para mí, incluso para la dirección más segura de agregar' const'. –
@CharlesBailey: vea mi respuesta para ver por qué no promocionó uno sobre el otro. – Casey