Un método const
simplemente recibirá un puntero const
this
.
En este caso, el puntero this
será del tipo const ThisClass* const
en lugar del tipo ThisClass* const
habitual.
Esto significa que las variables miembro no se pueden modificar desde un método const
. Ni siquiera los métodos no const
pueden invocarse desde dicho método. Sin embargo, una variable miembro puede declararse como mutable
, en cuyo caso esta restricción no se aplicará a ella.
Por lo tanto, cuando tiene un objeto const
, los únicos métodos que el compilador le permitirá llamar son aquellos marcados como seguros por la palabra clave const
.
Gracias, Daniel, para la edición por mí. : D – smwikipedia