Zitat:
Zitat von mrburns
Kurz gesagt: gar nicht.
Lang: In C und C++ sind Arrays nichts anderes als Pointer mit Offset als Index, das bedeutet, wenn du ein Array als Funktionsargument übergibst, hast du damit grob gesagt (sehr grob!) eine implizite Liste von Pointern auf Integer übergeben.
Damit kannst du also die Inhalte deines Arrays in der Funktion ändern ohne es zurückgeben zu müssen.
|
Diese Aussage ist leicht verwirrend. Zuerst ist es ein "Gar nicht", anschließend knüpfst du eine Bedingung an ("..wenn du ein Array als Funktionsargument übergibst,..").
Das ganze nennt sich call by reference, weist du aber bestimmt schon
Die Geschichte mit den Pointern ist richtig. Aber es kann auch der Fall vorkommen, das ich
in einer Funktion ein Array erstelle und den Pointer darauf zurückgebe.
Soweit ich weis, ist es in C++ egal, ob ich dann ein
oder ein
zurückgebe. In beiden Fällen wäre es aber der return eines Arrays.