Return Werte einer Funktion
-
Was von beiden Möglichkeiten würdet Ihr vorziehen, was ist der bessere Stil?
Rückgabewerte einer Funktion als Funktionsparameter
oder als Rückgabeparameter.void class:function(int &value) { ... value = result; }
oder
int class:function2(...){ ... return result; }
Würdet Ihr auch beides erlauben, also
int class:function3(int &value){ ... value = result2; return result; }
Danke.
-
Nummer 2; sagt ja schon der Name Rückgabewert.
-
Meiner Meinung nach lässt sich das nicht pauschal beantworten, weil es von der Funktion abhängt, [edit] bzw. dem Kontext, in dem die Funktion verwendet werden soll.
"Normal" wäre die 2. Möglichkeit, aber in der Praxis gibt es tatsächlich auch die dritte Möglichkeit, siehe std::getline
-
temi schrieb:
"Normal" wäre die 2. Möglichkeit, aber in der Praxis gibt es tatsächlich auch die dritte Möglichkeit, siehe std::getline
Interessanter Punkt. Es ist tatsächlich so, dass die dritte Variante noch den Vorzug hat, chaining zu ermöglichen. Wäre noch effektiver, wenn die Funktion eine Referenz zurückgeben würde.