其实我不知道这个成语怎么定义。
在一些代码中我有红色的东西,比如:
ClassWithAMessage c = "This is the message";
我希望阅读的地方:
ClassWithAMessage c("This is the message");
我不知道如何重现这种行为,有人可以提供一些信息或玩具示例吗?
最佳答案
ClassWithAMessage c = "This is the message";
是复制初始化。复制构造函数必须可用才能工作。首先,使用来自 "This is the message"
的转换构造函数构造一个临时的 ClassWithAMessage
。然后将临时文件与复制构造函数一起用于构造 c
。这受复制省略的影响(可能不存在温度)。
ClassWithAMessage c("This is the message");
是直接初始化。直接使用转换构造函数。
不是真正的习语,只是构造对象的不同方式。
关于c++ - 构造函数的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463023/