Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Операция вставки << в C++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Операция вставки << в C++
Имя
Сообщение << Старые топики   Новые топики >>
Операция вставки &lt;&lt; в 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? Что << начинает справа или что?
Post #: 1
RE: Операция вставки &lt;&lt; в 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

а вообще достаточно было проверить с константами, чтобы убедиться что твоё предположение ошибочно
Post #: 2
RE: Операция вставки &lt;&lt; в 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..Я правильно понимаю?
Post #: 3
RE: Операция вставки &lt;&lt; в C++ - 2009-05-19 19:30:26.720000   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
при префиксной записи (++sum) сначала вычисляется новое значение, а потом выполняются все операции:
++sum;
count << sum << " " << sum;
Post #: 4
RE: Операция вставки &lt;&lt; в C++ - 2009-05-19 19:42:35.843333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: KIBSOFT

Я правильно понимаю?


нет. в C++ аппликативная форма вычисления аргументов функций, т.е. все значения вычисляются до передачи в функцию
Post #: 5
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Операция вставки &lt;&lt; в C++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.