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

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

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

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

27.11.2013, 17:04. Просмотров 288. Ответов 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     Поряд вычисления операндов в операции
Посмотрите здесь:

Порядок вычисления операндов при сложении - C++
Есть такой пример int I = 2, k; k = (I=10)*(I=20); Чему в этом примере равно значение K?? 400, Так как последнее...

Определить результат целочисленного деления a на b, не используя стандартные операции вычисления остатка - C++
Не совсем понимаю условие. Как решить? Даны целые числа a,b(a>b). Определить результат целочисленного деления a на b, не используя...

Создать 100 файлов. Имя каждого файла должно соответствовать его поряд-ковому номеру. - C++
Создать 100 файлов. Имя каждого файла должно соответствовать его поряд-ковому номеру. В каждый из файлов записать его порядковый номер

error C2443: конфликт размеров операндов. - C++
#include "stdafx.h" #include <stdio.h> #include <conio.h> int r_y1(int a, int x) { int y0; _asm

Вычислить значение выражения, используя стек операндов - C++
Дано арифметическое выражение длиной до 30 символов, заканчивающееся знаком равенства. Выражение содержит знаки операции +, -, *, / и...

написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): - C++
вопрос: На языке C++ написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): x...

Перегрузить операции сравнения комплексных чисел и операции потокового вывода - C++
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,>, <,> =, <= И операции потокового ввода-вывода. ...

Битовые операции и операции смещения языка С - C++
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает верно(переводит обычные числа в 16-ти ричные),а...

Заменить операции ifstream на операции fprintf - C++
Собственно как и написано в заголовке заменить операции ifstream на fprintf со всеми вытекающими(типо getline) необходимо мне. Помогите...

Ошибка: отсутствует оператор ">>", соответствующий этим операндам типы операндов: std::is - C++
Помогите или объясните в чем моя ошибка?? Вот программный код! #include <iostream> #include <stdio.h> #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,352
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     Поряд вычисления операндов в операции
Ответ Создать тему
Опции темы

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