Call-By-Name
← enum | ● | New / Delete →
In der Parameterliste einer C++ Funktion kann ein Call-by-Reference Parameter auch mit dem & Zeichen anstelle des * Zeichens deklariert werden.
Auch dann werden die Parameter als Referenz übergeben. Um auf den Wert eines referenzierten Parameters zuzugreifen, genügt aber der Parametername.
Beim Aufruf wird ein Variablename als Argument übergeben, wobei der Adressoperator ebenfalls weggelassen wird.
Daher wird dieses Aufrufschema auch manchmal als Call-by-Name bezeichnet.
Wird ein Parameter verändert, so verändert sich automatisch auch das referenzierte Objekt der aufrufenden Funktion:
{
x++;
}
int a=1;
call_by_name(a);
-> a=2
Wenn man ein Argument als Referenz übergeben will, um das Kopieren des Arguments zu vermeiden, das Argument aber nicht verändert werden soll, so benutzt man eine konstante Parameterdeklaration (const
).
← enum | ● | New / Delete →