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-ге айналады