История изменений
Исправление soomrack, (текущая версия) :
Что значит «сразу»?
man initializer_list
https://en.cppreference.com/w/cpp/utility/initializer_list
если коротко, то {} приведет к созданию прокси-объекта, данные которого быстро перенесутся в основной объект. Это может быть сильно быстрее и удобнее, чем прямой вызов конструктора, тем более, с конвертацией из другого типа….
Пример различия:
Vec* v1 = new std::vector(10); // vector из 10 элементов заполненный 10 нулями
Vec* v2 = new std::vector{10}; // vector из одного элемента в котором значение 10
PS: конструктор, само собой, для std::string все равно вызовется, но аргумент будет initializer_list<>
Исходная версия soomrack, :
Что значит «сразу»?
man initializer_list
https://en.cppreference.com/w/cpp/utility/initializer_list
если коротко, то {} приведет к созданию прокси-объекта, данные которого быстро перенесутся в основной объект. Это может быть сильно быстрее и удобнее, чем прямой вызов конструктора, тем более, с конвертацией из другого типа….
Пример различия:
Vec* v1 = new std::vector(10); // vector из 10 элементов заполненный 10 нулями
Vec* v2 = new std::vector{10}; // vector из одного элемента в котором значение 10