С С++ 11 теперь у нас есть возможность инициализировать члены класса в объявлении заголовка:
class aClass
{
private:
int mInt{100};
public:
aClass();
~aClass();
};
Итак, я немного смущен. Традиционно списки инициализации в конструкторах были использованы для инициализации члена:
aClass::aClass()
: mInt(100)
{
...
}
Сработала ли новая функция инициализации члена С++ 11 при объявлении, что списки инициализации устарели? Если нет, то каковы преимущества одного над другим? В каких ситуациях инициализация при объявлении выгодна, или списки инициализации выгодны? Когда нужно использовать друг друга?