dec() Funktion in Delphi ist was in C++?



  • Hi Leute,

    noch eine Frage: In Delphi gibt es eine dec() Funktion. Was macht die und was gibt es dazu in C++. Sie steht etwa so im Delphi code dec(y);

    Kann mir einer dazu was sagen?

    Danke im voraus.

    Grüsse
    xthing



  • OMG. Jetzt bin ich mir unsicher ob --y oder y--.



  • Das ist eigentlich egal, welche Version man in C++ nimmt. Die dec-Funktion ist eine Prozedur und hat somit keinen Rückgabewert. In C++ liefern beide Varianten etwas zurück.



  • Um deine Frage etwas genauer zu beantworten:

    dec(y) dekrementiert eine Variable, also erniedrig ihren Wert um Eins.
    In C++ benötigt man dafür keine Funktion da es dafür zwei Operatoren gibt.
    In beiden Fällen wird er durch "--" dargestellt nur eben an einer anderen position. Wenn du die Operatoren nicht in einem Ausdruck verwendest dann machen sie auch genau das selbe :).

    int y = 3;
    y--;
    // y enthält nun den Wert 2
    --y;
    // y enthält nun den Wert 1
    

    Wie du siehst machen sie hier genau dasselbe.
    Jetzt aber in einem Ausdruck:

    int x = 5;
    int y = 3;
    int z = 8;
    int erg = 0;
    
    erg = x + z - --y;
    // erg = 11
    // x = 5
    // z = 8
    // y = 2
    
    y = 3 // y wieder resetten ^_^
    
    erg = x + z - y--;
    // erg = 10
    // x = 5
    // z = 8
    // y = 2
    

    Wie du siehst zwei unterschiedliche Ergebnise:
    Beim ersten Ausdruck wo der decrement Operator vor der Variable steht wird sie erst decrementiert und dann in den Audruck verwendet, deshalb auch erg = 11.
    Beim zweiten mal ist es genau andersherum, dort wird die Variable erst für den Ausdruck verwendet und dann dekrementiert, deshalb erg = 10.
    Hoffe hat dir einen Überblick verschaft 😃

    mfg tobZel



  • Danke für Eure Antworten.

    Grüsse
    xthing


Anmelden zum Antworten