Есть ли разница между инициализацией копирования и прямой инициализацией?

Предположим, у меня есть эта функция:

<code>void my_test()
{
    A a1 = A_factory_func();
    A a2(A_factory_func());

    double b1 = 0.5;
    double b2(0.5);

    A c1;
    A c2 = A();
    A c3(A());
}
</code>

Являются ли эти утверждения в каждой группе идентичными? Или есть дополнительная (возможно, оптимизируемая) копия в некоторых инициализациях?

Я видел, как люди говорили обе вещи. пожалуйстаcite текст в качестве доказательства. Также добавьте другие случаи, пожалуйста.

Ответы на вопрос(8)

Ваш ответ на вопрос