初始化 A(ob) 如何工作,其中 ob 是类 A 的对象
how does the initialization A(ob) work, where ob is an object of class A
A 是一个定义如下的类:
class A
{
public:
int x;
}
和主要:
int main()
{
A(ob); // note that copy constructor doesn't get called
ob.x = 1; // just to show that ob's members can be accessed
}
这是一个不同的 main():
int main()
{
A ob;
A ob2 = A(ob); // copy constructor gets called and everything happens as expected
}
我从未在 c++ 中看到过这样的实例化。A(ob) 不应该是通过调用 A 的构造函数来转换函数样式类型转换,其中 ob
是先前声明的对象?
编辑:在第二个main()中,A(ob)用作ob2
的初始值设定项。
A(ob);
与:
A ob;
牙套是多余的。所以以下内容与上面相同:
A((ob));
A(((ob)));
A((((ob))));
所有这些都是等效的。 但这并不意味着你应该写这个。只需写下更容易阅读的内容。
看起来
很奇怪
A(ob);
相当于
A ob;
在您的代码中。
相关文章:
- 当我在其中一个线程执行中(在activemq-cpp中)捕获到特定值时,我如何终止/停止所有其他线程
- 其中降频广播实际上是有用的
- 如何生成一个随机的 n 位数,其中 n 是任意的
- 容器,其中每个项可以有多个非唯一键 (c++17)
- 如何读取 C++ SAFEARRAY**,该 SAFEARRAY** 是 COM 互操作的结果,其中 C# 返回值为
- 初始化向量数组,其中每个向量的大小为 0
- 创建具有两个视口的Qt3D C++场景,其中显示适当的不同网格
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 如何定义自定义生成配置类型,其中通常是.exe的目标改为 DLL
- 如何测试 size_t -1 是否未定义,其中 size_t 为 0?
- 如何使用 swig 修改类构造函数以保留对其中一个构造函数参数的引用?
- C++类型别名,其中值被替换
- 具有多个参数的模板化类专用化,其中一个模板参数是模板本身
- C++有没有办法强制重写一组方法,如果其中一个方法在子类中具有重写?
- 如何制作一个地图,其中的值是C++中的结构数组
- 我如何创建一个函数(),其中一帕雷米特是映射
- 派生的 wxPanel 控件如何访问其中包含 wxDialog 中的数据?
- 我如何创建一个列表,然后从中创建两个列表,其中一个用于偶数,另一个用于奇数?
- 创建类类型的动态分配数组,其中类不得具有默认构造函数
- 初始化 A(ob) 如何工作,其中 ob 是类 A 的对象