C-Programmierung

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:

void call_by_name(int &x)
{
   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

Options: