Есть ли способ установить определенный порядок оценки аргументов функции? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Есть ли способ установить определенный порядок оценки аргументов функции? [дубликат]

Сообщение Гость »


Я понимаю, что когда я вызываю такую ​​функцию, как

a(b(),c()); тогда поведение this может быть неопределенным в = C++17, в том смысле, что компилятор должен определить, следует ли оценивать b или c первым.

Я хотел бы знать, как лучше всего добиться порядка оценки. Я буду компилировать как C++14.

Сразу на ум приходит примерно следующее:

#include число интервалов = 5; автоматическое приращение(){ количество возврата++; } шаблон auto diff(A && a, B && b){ вернуть а-б; } интервал основной() { авто && a = приращение(); авто && b = приращение(); авто с = разница (а, б); } Нахожусь ли я в стране неопределенного поведения? Или именно так «должно» устанавливать порядок вычислений?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»