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


  • Mod

    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.


Anmelden zum Antworten