Referenz
-
warum is ne referenz schneller als ne normale variable?
sprich:
void gaga(const short &var);schneller als:
void gaga(short var);?
(steht in volkards tutorial)
-
Ist sie nicht, jedenfalls nicht in diesem Fall.
Für komplexere Objekte vermeidest du mit einer Referenz, dass eine Kopie des Objekts angefertigt wird (und manche Objekte sind eben auch nicht kopierbar).
Eine Referenz ist intern nichts anderes als ein verkappter Zeiger.
-
Bei Call by Value wird eine extra Kopie des übergebenen Parameters erstellt. Bei Call by Reference wird direkt mit dem Objekt gearbeitet. Vergleiche:
#include <iostream> using namespace std; void func(int &a) //lass mal das Ampersand weg! Dann wird eine Kopie angelegt und es wird drei und nicht vier ausgegeben! { ++a; } int main() { int i = 3; func(i); cout << i; return 0; }lg, freakC++