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

Поряд вычисления операндов в операции - C++

Восстановить пароль Регистрация
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
27.11.2013, 17:04     Поряд вычисления операндов в операции #1
Предположим есть такой код:
C++
1
2
SomeType x = STCreate3() + STCreate1() * STCreate2();
//Все эти функции возвращают объект SomeType
Могу ли я быть уверен, что всегда (независимо от ключа оптимизации) будет выполнено так:
STCreate1()
StCreate2()
STCreate3()
?
Или же это UB?
А если говорить о базовых типах, допустим, int?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 17:04     Поряд вычисления операндов в операции
Посмотрите здесь:

error C2443: конфликт размеров операндов. C++
Определить результат целочисленного деления a на b, не используя стандартные операции вычисления остатка C++
Создать 100 файлов. Имя каждого файла должно соответствовать его поряд-ковому номеру. C++
C++ Вычислить значение выражения, используя стек операндов
Ошибка: отсутствует оператор ">>"; типы операндов: std::istream >> std::string C++
написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): C++
IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char> C++
Ошибка: отсутствует оператор >>,соответствующий этим операндам типы операндов: std::ostream>>const double C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
27.11.2013, 17:43     Поряд вычисления операндов в операции #2
Не можешь. Более того, порядок вычисления операндов заведомо не определен и оставлен на усмотрение разработчиков компилятора.

Добавлено через 5 минут
Стандарт, 1.9/15:
Except where noted, evaluations of operands of individual operators and of subexpressions of individual expressions are unsequenced.
Yandex
Объявления
27.11.2013, 17:43     Поряд вычисления операндов в операции
Ответ Создать тему
Опции темы

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