Middle
Kā pārkraut postfix un prefix inkrementa operatoru C++?
sobes.tech AI
Atbilde no AI
C++ valodā prefiksa un postfixa ++ operatori pārslodās ar diviem dažādiem funkciju parakstiem:
-
Prefiksa palielināšana: Atgriež atsauci uz pašreizējo objektu (
*this) pēc tā izmaiņām.ClassName& operator++() { // Prefiksa palielināšanas loģika // Objekta stāvokļa maiņa return *this; // Atgriež atsauci uz mainīto objektu } -
Postfiksa palielināšana: Atgriež objekta kopiju pirms tā izmaiņām. Atšķiras ar fikcijas parametra
intesamību.ClassName operator++(int) { ClassName temp = *this; // Saglabā pašreizējo stāvokli // Postfiksa palielināšanas loģika // Objekta stāvokļa maiņa return temp; // Atgriež saglabāto kopiju }
| Palielināšanas tips | Funkcijas paraksts | Atgriežamā vērtība | Parametri |
|---|---|---|---|
| Prefiksa | ClassName& operator++() |
Atsauce uz mainīto objektu | Nav |
| Postfiksa | ClassName operator++(int) |
Objekta kopija pirms izmaiņām | Fiktsīvs int |