Ich habe diesen Code Beispiel:Casting-Operator - konst vs nicht-const
class Number
{
int i;
public:
Number(int i1): i(i1) {}
operator int() const {return i;}
};
Was die Auswirkungen des Entfernens des const
Modifikator aus dem Casting-Operator sind? Beeinflusst das Autocasting und warum?
+1 - gut verdient. Hmmm - Ich möchte den Wert, der von einem konstanten Objekt genommen wurde, umwandeln, aber ich kann das nicht, weil die Konvertierung (die den Quellwert nicht verändert) nicht const ist. Stoppen Sie, schauen Sie und denken Sie nach, und die Argumentation ist offensichtlich - sie unterscheidet sich nicht von anderen Methoden. Aber ich höre immer noch dieses Twilight-Zone-Thema. Die (zumindest logische) Konstanz der Quelle ist Teil des erwarteten Verhaltens der Methode - was "Umwandlung" bedeutet. Aber wiederum sind konsistente Regeln zumindest konsistent. – Steve314