gpt4 book ai didi

c++ - 使用 "X x(42)"和 "X x = 42"的对象构造有何不同?

转载 作者:可可西里 更新时间:2023-11-01 18:25:48 25 4
gpt4 key购买 nike

假设我们有类 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com