#cpp
добрый день, вопрос такой, почему нельзя сделать так: i++++; Но можно так: ++++i;
Ответы
Ответ 1
разница в том, что возвращают постфиксная и префиксная формы инкремента. Префиксная возвращает ссылку на инкрементированную переменную i, а префиксная возвращает не ссылку, а значение некоторой временной переменной, в которой было сохранено предыдущее (до инкремента) значение переменной i. Выглядит это примерно так (для int) : int& operator ++(int& a); // префиксная форма int operator ++(int& a, int); // постфиксная форма В первом случае значение, возвращаемое оператором инкремента является lvalue, во втором - не является
Комментариев нет:
Отправить комментарий