Middle
Kaip perkrauti postfix ir prefix inkremento operatorių C++?
sobes.tech AI
Atsakymas iš AI
C++ kalboje prefiksiniai ir postfixiniai ++ operatoriai perkelti naudojant dvi skirtingas narių funkcijų parašus:
-
Prefiksinis padidinimas: Grąžina nuorodą į dabartinį objektą (
*this) po jo pakeitimo.ClassName& operator++() { // Prefiksinio padidinimo logika // Objekto būsenos keitimas return *this; // Grąžina nuorodą į pakeistą objektą } -
Postfiksinis padidinimas: Grąžina kopiją objekto prieš jo pakeitimą. Skiriasi dėl fiktyvaus parametro
intbuvimo.ClassName operator++(int) { ClassName temp = *this; // Išsaugo dabartinę būseną // Postfiksinio padidinimo logika // Objekto būsenos keitimas return temp; // Grąžina išsaugotą kopiją }
| Inkremento tipas | Funkcijos parašas | Grąžinama reikšmė | Parametrai |
|---|---|---|---|
| Prefiksas | ClassName& operator++() |
Nuoroda į pakeistą objektą | Nėra |
| Postfiksas | ClassName operator++(int) |
Kopija prieš pakeitimą | Fiktyvus int |