Некоторые альтернативы initializer list в C++:
- Прямое конструирование. 2 Вызов конструктора без initializer list у класса или инициализация значением у базового типа. 2
- Инициализация через список членов. 4 Принадлежности пользовательских типов можно инициализировать через этот список в том же порядке, что и их объявления. 4
- Инициализация по умолчанию. 4 При необходимости можно явно указать инициализацию по умолчанию для типов, которые её допускают. 4
Также в C++17 есть разница между прямой и копирующей инициализацией списка. 3 При прямой инициализации не используется знак равенства, а при копирующей — используется. 3