Синтаксис списка инициализаторов в списке инициализаторов членов с использованием 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)
{}

Так в чем же разница и когда один должен быть предпочтительнее другого?

Ответы на вопрос(3)

Ваш ответ на вопрос