Я читал этот вопрос:
Undefined поведение и точки последовательности
и, в частности, С++ 11, и я понимаю идею "упорядочивания" оценок. Но - есть ли достаточная последовательность, когда я пишу:
f(x++), g(x++);
?
То есть, я уверен, что f()
получает исходное значение x
, а g()
получает однократный x
?
Примечания для nitpickers:
- Предположим, что
operator++()
определил поведение (даже если мы его переопределили), а такжеf()
иg()
, что никакие исключения не будут выбрасываться и т.д. - этот вопрос не об этом. - Предположим, что
operator,()
не было перегружено.