Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
monkey
- Beiträge: 182
- Registriert: 29.06.2006 09:00:51
- Wohnort: Buxtehude
Beitrag
von monkey » 29.04.2009 18:47:44
Hallo zusammen ich habe eine Verständnis Frage bezüglich Call-by-Name Funktionen in C++. Wenn ich eine call-by-name Funktion anlege was geschieht hinter den Kulissen des Programms? Werden Kopien der Variablen angelegt, wie bei einer Call-by-Value Funktion und werden diese Variablen mit den originellen Variablen überschrieben oder ist es intern eine Call-by-Reference Funktion?
Code: Alles auswählen
Vertausche_call_by_name(var1, var2);
void Vertausche_call_by_name(int &a, int &b)
{
int var;
var = a;
a = b;
b = var;
}
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 29.04.2009 19:53:35
monkey hat geschrieben:Hallo zusammen ich habe eine Verständnis Frage bezüglich Call-by-Name Funktionen in C++.
in C++ gibts doch nur "call by value" oder "call by reference", ein "call by name" findet z.B bei Preprozessor Makros Verwendung
Gruß
gms
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 29.04.2009 20:17:03
Es handelt sich hier doch um die Verwendung von Referenzen, da den Werten hier über eine Hilfsvariable deren Adressen zugewiesen werden.
(So zumindest mein Verständnis dazu)
Oh, yeah!