Старый ответ (пропущено):
Я проверил текущий черновик C ++ 0x, и там я нашел предложение 8.5.1.17, которое гласит:
17 Полные выражения в
initializer-clause оценивается в
порядок, в котором они появляются.
Так что, хотя это предложение не является частью стандарта C ++ от 2003 года, я совершенно уверен, что это должно работать в любом современном компиляторе, если это является частью C ++ 0x.
Edit:
Комментарии заставили меня переосмыслить этот вопрос. Эта строка гарантирует, что объекты QPointF
создаются в том порядке, в котором они встречаются при инициализации массива (актуально, если конструкторы элементов имеют наблюдаемые побочные эффекты). Проблема в том, что значение points
является неопределенным во время инициализации массива. Таким образом, гарантия действительного значения points[0]
также не может быть гарантирована, по крайней мере, если вы полагаетесь на стандарт.