Синтаксис списка инициализаторов в списке инициализаторов членов с использованием C ++ 11
Я прошел черезТур по С ++'и Бьярне использует функцию списка инициализатора c ++ 11 при инициализации члена в конструкторе, например так (используя фигурные скобки):
A a;
B b;
Foo(Bar bar):
a{bar.a}, b{bar.b}
{}
Это, однако, не компилируется до c ++ 11. В чем разница со старым списком инициализирующих элементов (с использованием круглых скобок):
Foo(Bar bar):
a(bar.a), b(bar.b)
{}
Так в чем же разница и когда один должен быть предпочтительнее другого?