这样做有什么区别:
class_name object_name = something;
和
class_name object_name(something);
根据我在此处阅读的内容,两者都使用复制构造函数,但我不明白为什么会发生这种情况以及隐式转换如何发挥作用。我如何理解它(在阅读之前)是第一个通过创建临时对象使用默认赋值运算符(如果未定义)然后调用复制构造函数,但这似乎是错误的。我之所以问,是因为我读到,当使复制构造函数显式时,即使某些东西是 class_name 类型,第一个选项也会失败,因此这两个选项必须足够不同。在第一个选项的复制构造函数之上使用赋值运算符(使用默认或用户定义的实现)还是只是调用复制构造函数的用户友好语法形式?