Операция вставки << в C++
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Операция вставки << в C++ - 2009-05-19 14:32:11.160000
|
|
|
KIBSOFT
Сообщений: 75
Оценки: 0
Присоединился: 2007-06-25 13:26:22.170000
|
Вот код: int x=5; cout << x << x++; почему результат будет 6 и 5? Что << начинает справа или что?
|
|
|
RE: Операция вставки << в C++ - 2009-05-19 14:48:17.496666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
потому что постфиксная форма оператора инкремента возвращает старое значение переменной последовательность тут такая: cout << x << x++ cout << (x + 1) << x cout << 6 << 5 cout << 5 а вообще достаточно было проверить с константами, чтобы убедиться что твоё предположение ошибочно
|
|
|
RE: Операция вставки << в C++ - 2009-05-19 18:51:49.653333
|
|
|
KIBSOFT
Сообщений: 75
Оценки: 0
Присоединился: 2007-06-25 13:26:22.170000
|
а с префиксной формой int sum=5; cout << sum << " " << ++sum; получается 6_6..получается все таки cout << sum << " " << ++sum интерпретируется справа налево, т.е. ++sum=6, а потом sum=6..Я правильно понимаю?
|
|
|
RE: Операция вставки << в C++ - 2009-05-19 19:30:26.720000
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
при префиксной записи (++sum) сначала вычисляется новое значение, а потом выполняются все операции: ++sum; count << sum << " " << sum;
|
|
|
RE: Операция вставки << в C++ - 2009-05-19 19:42:35.843333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: KIBSOFT Я правильно понимаю? нет. в C++ аппликативная форма вычисления аргументов функций, т.е. все значения вычисляются до передачи в функцию
|
|
|
|
|