struct Test
{
    Test(int a, int b)
    : a_(a), b_(b) {}
    int a_;
    int b_;
};
Test ch1 = Test(1, 2);  // #1
Test ch3 = Test({1, 2}); // #2
Test ch4 = Test{1, 2};   // #3
Test ch5(1, 2);  // #4
Test ch6({1, 2});  // #5
Test ch7{1, 2};   // #6
Test ch8 = {1, 2}; // #7
Ребят, просветите, есть ли какая-то разница между инициализацией с разными скобками? Почему это всё работает?
Насколько я понимаю, у 4-5-6 не происходит копирование временного объекта.
(в контексте С++14)

