Sobes.tech
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