Új hozzászólás Aktív témák

  • jattila48

    aktív tag

    válasz ToMmY_hun #2926 üzenetére

    Itt teljesen mindegy, hogy pre vagy post inkrementálást használsz. Alaptípusoknál (POD) nincs sebességbeli különbség. Általad definiált típusok esetén viszont valóban lassabb a post inkrementálás:

    MyClass &operator++(){
    //elvegzed a pre inkrementalashoz szukseges muveleteket
    return *this; //hivatkozas szerinti visszaadas
    }

    MyClass operator++(int){
    //post inkrementalas. Az int parameter csak ennek a jelzese, nem hasznalt.
    MyClass tmp(*this); //temporalis objektumot hozunk letre
    operator++(); //ez a pre inkrementalas az aktualis objektumon
    return tmp; // a nem inkrementalt temporalist adjuk vissza ertek szerint
    }

    Amint látod, minimum egy copy ctor hívással (és plusz egy fv. hívással) több a post inkrementálás. Hogy ez van-e kétszer annyi idő, vagy nincs, az az inkrementálás műveletigényétől függ.

Új hozzászólás Aktív témák

Hirdetés