Sobes.tech
Middle
221

C++ тілінде постфикс және префикс инкременттерін қалай жүктеуге болады?

AI-дан жауап

sobes.tech AI

// Префикс инкрементін қайта жүктеу
MyClass& operator++() {
    // Объект күйін арттыру
    value++;
    // Өзгертілген объектке сілтемені қайтару
    return *this;
}
// Постфикс инкрементін қайта жүктеу
MyClass operator++(int) {
    // Өлшемін арттыру алдында уақытша көшірмені жасау
    MyClass temp = *this;
    // Объект күйін арттыру
    value++;
    // Уақытша көшірмені қайтару (инкремент алдындағы мән)
    return temp;
}

Айырмашылық сигнатураларда: постфикс нұсқасы int жалған параметрін пайдаланады, ол оны префикс нұсқасынан ажыратады.

Постфикс нұсқасы өзгеріс алдындағы көшірмені қайтарады, префикс нұсқасы өзгертілген объектке сілтемені қайтарады.

Қолдану мысалы:

MyClass obj(5);

// Префикс инкремент: алдымен арттыру, содан кейін мәнін пайдалану
MyClass result_prefix = ++obj; // obj 6-ға айналады, result_prefix = 6

// Постфикс инкремент: алдымен мәнін пайдалану, содан кейін арттыру
MyClass result_postfix = obj++; // result_postfix = 6, obj 7-ге айналады