Помните, что существует отличная разница между конструктором копирования и оператором присваивания:
So в вашем втором примере уже проделана определенная работа по созданию name
к тому времени, когда
name=n;
будет достигнуто.
Однако, вполне возможно (особенно в этом простом примере), что выполненная работа исчезающе мала (возможно, просто обнуление некоторых элементов данных в объекте string
) и что работа полностью оптимизирована в оптимизированная сборка. но по-прежнему считается хорошей формой использовать списки инициализаторов, когда это возможно.