class C 
{
public:
 C() : arr({1,2,3}) //doesn't compile
{}
    /*
    C() : arr{1,2,3} //doesn't compile either
{}
    */
private:
 int arr[3];
};
Я считаю, что причина в том, что массивы могут быть инициализированы только синтаксисом =, то есть:
int arr[3] = {1,3,4};
Вопросы
- Как я могу делать то, что хочу (что is, инициализировать массив в конструктор (не назначая элементы в организме)). Возможно ли это?
 - Знает ли стандарт С++ 03 что-то особенное об инициализации агрегатов (включая массивы) в инициализаторах ctor? Или недействительность вышеуказанного кода является следствием некоторых других правил?
 - Реализуют ли списки инициализаторов С++ 0x?
 
P.S. Пожалуйста, не указывайте векторы, boost:: array и их превосходство в массивах, о которых я хорошо знаю.