Используют ли компиляторы неопределенную последовательность аргументов функции? ⇐ C++
Используют ли компиляторы неопределенную последовательность аргументов функции?
Хорошо, я знаю, что стандарт требует, чтобы реализация C++ могла выбирать, в каком порядке вычисляются аргументы функции, но существуют ли какие-либо реализации, которые на самом деле «воспользуются» этим в сценарии, где это действительно повлияет на программа?
Классический пример:
int i = 0; Фу(я++, я++); Примечание: я не ищу кого-то, кто скажет мне, что на порядок оценки нельзя полагаться, я это прекрасно осознаю. Меня интересует только то, действительно ли какие-либо компиляторы выполняют вычисления в порядке слева направо, потому что я предполагаю, что если бы они сделали много плохо написанного кода, это сломалось бы (и это правильно, но они все равно, вероятно, будут жаловаться).< /п>
Хорошо, я знаю, что стандарт требует, чтобы реализация C++ могла выбирать, в каком порядке вычисляются аргументы функции, но существуют ли какие-либо реализации, которые на самом деле «воспользуются» этим в сценарии, где это действительно повлияет на программа?
Классический пример:
int i = 0; Фу(я++, я++); Примечание: я не ищу кого-то, кто скажет мне, что на порядок оценки нельзя полагаться, я это прекрасно осознаю. Меня интересует только то, действительно ли какие-либо компиляторы выполняют вычисления в порядке слева направо, потому что я предполагаю, что если бы они сделали много плохо написанного кода, это сломалось бы (и это правильно, но они все равно, вероятно, будут жаловаться).< /п>
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как компиляторы используют строгое правило псевдонимов для оптимизации [дубликат]
Anonymous » » в форуме C++ - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Какие алгоритмы используют популярные компиляторы C++ для std::sort и std::stable_sort?
Anonymous » » в форуме C++ - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-