Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
#1

++N - C++

02.09.2009, 21:44. Просмотров 2213. Ответов 21
Метки нет (Все метки)

в чем отличие
++а от а++?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Yurii_74
paladin
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
03.09.2009, 07:36 #16
Цитата Сообщение от pr1nc3 Посмотреть сообщение
З.Ы : на многих собеседованиях дают такие задачки и просят сказать ответ ->
a = 1;
b = 10;
c = a+++b;
чему равно с ??
Компилятор выдал 11. Как и ожидалось. Но для обычной человеческой логики это равносильно "казнить нельзя помиловать", и использование подобных конструкций без скобок мало кем одобряется.
0
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
03.09.2009, 09:40 #17
мое мнение компиляор это может трактовать как
a++ + b; либо
a + ++b; если этот случай нигде не оговорен
0
kirill29
2053 / 1216 / 55
Регистрация: 01.02.2009
Сообщений: 2,842
03.09.2009, 10:27 #18
Автоматом компилятор делает так: a++ + b;
Если нужно так a + ++b, то пробелы придется ручками ставить.
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
03.09.2009, 15:23  [ТС] #19
Цитата Сообщение от novi4ok Посмотреть сообщение
давно не прикалывались?
не флуди ты тут.
0
pr1nc3
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 9
03.09.2009, 18:29 #20
Цитата Сообщение от Yurii_74 Посмотреть сообщение
Компилятор выдал 11. Как и ожидалось. Но для обычной человеческой логики это равносильно "казнить нельзя помиловать", и использование подобных конструкций без скобок мало кем одобряется.
в этом то и весь сок, что все зависит от версии компилятора ....
а такой вопрос с подковыркой очень даже популярен )) хоть это и быдло-код)
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
03.09.2009, 18:53 #21
Цитата Сообщение от pr1nc3 Посмотреть сообщение
в этом то и весь сок, что все зависит от версии компилятора ....
если что-либо зависит от версии компилятора, значит это обусловлено либо новой версией стандарта либо это ill-formed код, undefined или unspecified behavior
0
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
03.09.2009, 21:16 #22
Цитата Сообщение от pr1nc3 Посмотреть сообщение
в этом то и весь сок, что все зависит от версии компилятора ....
Нет здесь никакой зависимости от версии компилятора, равно как и undefined|unspecified behavior. Любой стандартный компилятор должен трактовать это выражение как с = a++ + b, и никак иначе; потому что иначе - компилятор не соответствует Стандарту языка и подлежит отправке прямиком в Корзину.
0
Yandex
Объявления
03.09.2009, 21:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru