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 |