Middle
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 |