tengo este ejemplo de código:operador de fundición - const vs no constante
class Number
{
int i;
public:
Number(int i1): i(i1) {}
operator int() const {return i;}
};
¿Cuáles son las consecuencias de la supresión del modificador const
del operador de fundición? ¿Afecta el autocolado y por qué?
+1 - bien ganado. Hmmm - Quiero lanzar el valor tomado de un objeto const, pero no puedo, porque la conversión (que no modifica el valor fuente) no es const. Deténgase, mire y piense, y el razonamiento es obvio: no es diferente de cualquier otro método. Pero sigo escuchando el tema de la zona crepuscular. La constness (al menos lógica) de la fuente es parte del comportamiento esperado del método, lo que significa "conversión". Pero, de nuevo, las reglas consistentes son, al menos, consistentes. – Steve314