const array
-
SimpleFloatArray::SimpleFloatArray (const SimpleFloatArray& a) { //verhindert Veränderung von a n = a.n; p = new float[n]; for (int i = 0; i < n; i++) p[i] = a.p[i]; }Warum brauche ich hier das const, a wird doch nirgends verändert oder?
-
Warum nimmst du an, dass du das const brauchst?
Wie sollte etwas verändert werden, das const ist?
-
Ravend schrieb:
SimpleFloatArray::SimpleFloatArray (const SimpleFloatArray& a) { //verhindert Veränderung von a n = a.n; p = new float[n]; for (int i = 0; i < n; i++) p[i] = a.p[i]; }Warum brauche ich hier das const, a wird doch nirgends verändert oder?
Damit Du schreiben kannst:
void foo(const SimpleFloatArray &x){ SimpleFloatArray kopie=x;Und schreib lieber SimpleFloatArray const& a, das const vorne ist nicht hübsch.
-
Ravend schrieb:
Warum brauche ich hier das const, a wird doch nirgends verändert oder?
Das const ist nicht für dich - den Entwickler der Funktion - sondern für den Typ, der deine Funktion benutzt, damit er sicher gehen kann, dass sein liebes SimpleFloatArray niemals verändert wird.
-
volkard schrieb:
Und schreib lieber SimpleFloatArray const& a, das const vorne ist nicht hübsch.
Niemals

-
out schrieb:
volkard schrieb:
Und schreib lieber SimpleFloatArray const& a, das const vorne ist nicht hübsch.
Niemals

+1 für volkard^^
-
out schrieb:
volkard schrieb:
Und schreib lieber SimpleFloatArray const& a, das const vorne ist nicht hübsch.
Niemals

+1
-
volkard schrieb:
Ravend schrieb:
Warum brauche ich hier das const
Damit Du schreiben kannst:
void foo(const SimpleFloatArray &x){ SimpleFloatArray kopie=x;Das geht auch ohne const.
-
Sone schrieb:
volkard schrieb:
Ravend schrieb:
Warum brauche ich hier das const
Damit Du schreiben kannst:
void foo(const SimpleFloatArray &x){ SimpleFloatArray kopie=x;Das geht auch ohne const.
Die erste Zeile sei gegeben, er braucht das const vom Eingangsposting, damit die zweite auch geht.
-
Sone?

-
so ne schrieb:
Sone?

Ein Ehrentitel, der facepalm impliziert.