История изменений
Исправление Siborgium, (текущая версия) :
https://habr.com/ru/company/jugru/blog/469465/
https://en.cppreference.com/w/cpp/language/copy_elision
Ребят, просветите, есть ли какая-то разница между инициализацией с разными скобками?
Есть.
Test test1(0.0, 4.2); // ok
Test test2{ 0.0, 4.2 }; // error: narrowing conversion of ‘1.0e+0’ from ‘double’ to ‘int’
Варианты с разнообразным вкладыванием фигурных скобок будут отрабатывать по-разному в зависимости от объявленных конструкторов.
Кроме того, при наличии конструктора из std::initializer_list
Test{1, 2}
в данном примере будет вызовет именно его.
Исправление Siborgium, :
https://habr.com/ru/company/jugru/blog/469465/
https://en.cppreference.com/w/cpp/language/copy_elision
Ребят, просветите, есть ли какая-то разница между инициализацией с разными скобками?
Есть.
Test test1(0.0, 4.2); // ok
Test test2{ 0.0, 4.2 }; // error: narrowing conversion of ‘1.0e+0’ from ‘double’ to ‘int’
Варианты с разнообразным вкладыванием фигурных скобок будут отрабатывать по-разному в зависимости от объявленных конструкторов.
Исправление Siborgium, :
Исходная версия Siborgium, :