Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Nochmals: Es geht um Kopien. Man erreicht mit dem const nichts. Man kann weder verhindern, dass Kopien angelegt werden, noch sonst was bewirken. Wieso sollte man nicht der Funktion überlassen, ob sie die kopierten Parameter verändern darf?Zitat von »"WhiteMike"«
Ich finde es trotzdem keinen Fehler, wenn man verhindern will, dass man den Parametern neue Werte zuweist. Das macht nämlich genauso wenig Sinn, falls es keine out-Parameter sind.
Zitat von »"Nexus"«
Als Rückgabetyp bringt es sogar noch weniger, da skalare RValues generell nicht geändert werden dürfen. Hier wäre int gleichwertig.
C-/C++-Quelltext
1 const int function();
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
class vector { public: float x; float y; vector() {} vector(float _x, float _y) : x(_x), y(_y) { } vector operator +(const vector& b) const { return vector(x + b.x, y + b.y); } }; int main() { vector a, b; (a + b) = vector(1, 1); } |
Zitat von »"WhiteMike"«
Gibt es da nicht diesen Tipp, dass man an jeder möglichen Stelle ein const setzen sollte, wo es reinpasst?
Zitat von »"WhiteMike"«
In der Schnittstelle musst du das const sowieso nicht angeben, wenn es dich stört.
Ich finde es trotzdem keinen Fehler, wenn man verhindern will, dass man den Parametern neue Werte zuweist. Das macht nämlich genauso wenig Sinn, falls es keine out-Parameter sind.
Letztendlich ist es auch nur der Stil.
Zitat von »"ChrisJ"«
man sollte const eigentlich nur verwenden, um den benutzer einer methode/funktion vor dummen fehlern zu schützen. da bei den meisten hobbyprojekten der benutzer auch der autor ist, kann man das const meistens auch weglassen. wayne.
Werbeanzeige