Мне интересны списки инициализаторов и точки последовательности. Некоторое время назад я читал, что порядок оценки в списках инициализаторов оставлен вправо. Если это так, то между точками оценки должна быть какая-то точка последовательности, не так ли? Итак, с этим сказал следующий действующий код? Есть ли что-нибудь, что вызывает в нем поведение undefined?
int i = 0;
struct S {
S(...) {}
operator int() { return i; }
};
int main() {
i = S{++i, ++i};
}
Приветствуются все ответы.