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

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

Войти
Регистрация
Восстановить пароль
 
qwerty3434
-62 / 0 / 1
Регистрация: 05.06.2010
Сообщений: 15
#1

Инкремент и передача параметров - C++

20.03.2011, 22:11. Просмотров 476. Ответов 7
Метки нет (Все метки)

Недавно наткнулся на человека, который утверждал что:
C++
1
2
3
4
5
6
7
8
int add(int x, y) {
return x+y;
}
 
int func() {
int i = 1;
return add(i, i++);
}
на разных компиляторах может дать различный результат: "может быть либо 2, либо 3"
Хотелось бы выяснить у знающих людей (поскольку сам я рыл в гугле и ни чего не нашел =( ) правдивость этого высказывания. И вообще нормальный ли стиль: писать таким образом? (Т.е передавать в качестве параметров "++i" или "i++") Или же следует соблюдать осторожность...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
20.03.2011, 22:15     Инкремент и передача параметров #2
qwerty3434, Приведенный Вами код на любом компиляторе(C/C++) не скомпилируеться, так-как здесь
Цитата Сообщение от qwerty3434 Посмотреть сообщение
int add(int x, y) {
ошибка.
qwerty3434
-62 / 0 / 1
Регистрация: 05.06.2010
Сообщений: 15
20.03.2011, 22:16  [ТС]     Инкремент и передача параметров #3
господи, ну посавь там инт, че за придирки/оффтоп?
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
20.03.2011, 22:17     Инкремент и передача параметров #4
Цитата Сообщение от qwerty3434 Посмотреть сообщение
че за придирки/оффтоп?
Читай констатация факта.
qwerty3434
-62 / 0 / 1
Регистрация: 05.06.2010
Сообщений: 15
20.03.2011, 22:19  [ТС]     Инкремент и передача параметров #5
Слушай, я это скопипастил, мне суть проблемы важна, а не компилируемость в общем случае. Если не знаешь ответ на мой вопрос - просто молчи и не нужно оффтопить.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
20.03.2011, 22:19     Инкремент и передача параметров #6
qwerty3434, Следует соблюдать.
C++
1
return add(i, i++);
Нету точки следования. Неизвестно как будут вычисляться параметры.
qwerty3434
-62 / 0 / 1
Регистрация: 05.06.2010
Сообщений: 15
20.03.2011, 22:20  [ТС]     Инкремент и передача параметров #7
ForEveR, спасибо. Буду знать. =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2011, 22:21     Инкремент и передача параметров
Еще ссылки по теме:

Передача параметров в функцию C++
C++ Передача параметров по ссылке
C++ Передача параметров (функция)
C++ Передача параметров функции
C++ Передача параметров в функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
20.03.2011, 22:21     Инкремент и передача параметров #8
Цитата Сообщение от qwerty3434 Посмотреть сообщение
Если не знаешь ответ на мой вопрос - просто молчи и не нужно оффтопить.
Ок, босс.
Yandex
Объявления
20.03.2011, 22:21     Инкремент и передача параметров
Ответ Создать тему
Опции темы

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