c – 使用“X x(42)”和“X x = 42”的对象构造的差异?

前端之家收集整理的这篇文章主要介绍了c – 使用“X x(42)”和“X x = 42”的对象构造的差异?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_1@假设我们有定义构造函数X(int值)的类X.

这在语义上是否相同?

X x = 42;
X x(42);

我相信只有当我们将显式关键字添加到X的构造函数时才会出现差异.
否则编译器将减少表达式X x = 42;到X x(42);

如果我错了,请纠正我.

解决方法

表格
X x = 42;

要求构造函数是非显式的,并且存在可访问的复制构造函数.允许实现构造一个临时的并复制它,但我知道没有实现.

原文链接:https://www.f2er.com/c/119278.html

猜你在找的C&C++相关文章