Middle
Ինչպես ավելացնել postfix և prefix ինկրեմենտ օպերատորները C++-ում?
sobes.tech AI
Պատասխան AI-ից
C++ լեզվում նախածանցային և վերջածանցային ++ օպերատորները վերագրվում են երկու տարբեր անդամ ֆունկցիայի ստորագրություններով:
-
Նախածանցային ավելացում: Վերադարձնում է ընթացիկ օբյեկտի հղում (
*this) փոփոխությունից հետո:ClassName& operator++() { // Նախածանցային ավելացման տրամաբանություն // Օբյեկտի վիճակի փոփոխություն return *this; // Վերադարձնում է փոփոխված օբյեկտի հղումը } -
Վերջածանցային ավելացում: Վերադարձնում է օբյեկտի պատճենը փոփոխությունից առաջ։ Տարբերվում է ֆիկտիվ պարամետրի
intառկայությամբ:ClassName operator++(int) { ClassName temp = *this; // Պահպանում է ընթացիկ վիճակը // Վերջածանցային ավելացման տրամաբանություն // Օբյեկտի վիճակի փոփոխություն return temp; // Վերադարձնում է պահպանումը կատարված պատճենը }
| Տիպը | Ֆունկցիայի ստորագրություն | Վերադարձվող արժեքը | Պարամետրեր |
|---|---|---|---|
| Նախածանցային | ClassName& operator++() |
Փոփոխված օբյեկտի հղում | Ոչ մի |
| Վերջածանցային | ClassName operator++(int) |
Օբյեկտի պատճենը փոփոխությունից առաջ | Ֆիկտիվ int |