Есть ли разница между инициализацией копирования и прямой инициализацией?
Предположим, у меня есть эта функция:
<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 текст в качестве доказательства. Также добавьте другие случаи, пожалуйста.