Warum geht virtual const nicht?
-
war ja auch ein Beispiel...
wir könnten daraus ja auch das machen:
virtual const ClassInteger& GetAnzahlDerTiereDieserGattung()
also kann ich zusammenfassend sagen: virtual const ist ok und MS hat nicht nachgedacht, oder?
-
[müll]
-
Hi,
es macht durchaus Sinn built-in Typen const zu machen, das schlägt Meyers sogar vor.
Es hat den Sinn, das man von außen das Teil nicht verändern kann.
Beispielsweise liefert GetA jetzt const int:GetA() = 10
Dies klappt nun nicht und es ist gut, dass das nicht klappt, denn es ist nicht sinnvoll so etwas zu machen, aber es kann durchaus passieren, dass man = statt == schreibt. (als Tippfehler natürlich ;))
MfG Eisflamme
-
das halte ich für übetrieben, wer versucht einem temporären Objekt etwas zuzuweisen, muss nicht ganz dicht sein.
-
Mis2com schrieb:
es macht durchaus Sinn built-in Typen const zu machen, das schlägt Meyers sogar vor.
Wage ich zu bezweifeln:
denn GetInt()=3; funktioniert ja sowieso nicht.
-
EnERgYzEr schrieb:
virtual const ClassInteger& GetAnzahlDerTiereDieserGattung()
Das gibt eine nicht konstante Referenz auf eine konstante ClassInteger-Instanz zurück. Wenn das & nicht wäre, würde es hinkommen und sogar Meyers' Empfehlungen entsprechen - denn dann könnte man "GetAnzahl...() = 10" nicht schreiben.
-
operator void schrieb:
Das gibt eine nicht konstante Referenz auf eine konstante ClassInteger-Instanz zurück. Wenn das & nicht wäre, würde es hinkommen und sogar Meyers' Empfehlungen entsprechen - denn dann könnte man "GetAnzahl...() = 10" nicht schreiben.
seit wann gibt es nicht konstante Referenzen?
-
Shlo schrieb:
operator void schrieb:
Das gibt eine nicht konstante Referenz auf eine konstante ClassInteger-Instanz zurück. Wenn das & nicht wäre, würde es hinkommen und sogar Meyers' Empfehlungen entsprechen - denn dann könnte man "GetAnzahl...() = 10" nicht schreiben.
seit wann gibt es nicht konstante Referenzen?
Warum soll es Referenzen, welche nicht konstant sind, nicht geben?
mfg
v R
-
virtuell Realisticer schrieb:
Warum soll es Referenzen, welche nicht konstant sind, nicht geben?
mfg
v Rdass man einer Referenz nach Initialisierung ein anderes Objekt zuweisen kann ist mir neu... Oder wovon war nochmal die Rede?
-
Shlo schrieb:
virtuell Realisticer schrieb:
Warum soll es Referenzen, welche nicht konstant sind, nicht geben?
mfg
v Rdass man einer Referenz nach Initialisierung ein anderes Objekt zuweisen kann ist mir neu... Oder wovon war nochmal die Rede?
Nein das geht natuerlich nicht. Aber es gibt konstante Referenzen und nicht
konstante Referenzen:int i = 5; const int &const_ref = i; int &ref = i; const_ref = 4; //ups ref = 4;
Das meinte ich damit
mfg
v R
-
in dem Fall ist nicht die Referenz konstant sondern das eigentliche Objekt