假设我们有类 X 和已定义的构造函数 X(int value)
。
这在语义上是否等价?
X x = 42;
X x(42);
我相信只有在 X 的构造函数中添加 explicit 关键字才会出现差异。
否则编译器会将表达式 X x = 42;
简化为 X x(42);
如果我错了,请纠正我。
最佳答案
表格
X x = 42;
要求构造函数是非显式的,并且有一个可访问的复制构造函数。允许该实现构造一个临时文件并将其复制过来,但据我所知,没有任何实现会这样做。
关于c++ - 使用 "X x(42)"和 "X x = 42"的对象构造有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777684/