gpt4 book ai didi

c++ - 实例化类的正确方法

转载 作者:太空宇宙 更新时间:2023-11-04 11:37:19 24 4
gpt4 key购买 nike

这两种实例化类的方式都可以接受吗?我的意图是在堆栈而不是堆上创建 CBox

CBox a=CBox(1);
CBox b(2);

CBox的定义如下:

class CBox
{
public:
int abc;
CBox(int var){
abc=var;
}

};

最佳答案

事实上,由于在第一个定义中省略了复制/移动构造函数,所以两个定义是等价的。

CBox a=CBox(1);
CBox b(2);

唯一的区别是,如果复制/移动构造函数不可访问或不能被隐式调用(例如它是私有(private)的或定义为已删除或具有显式函数说明符),则第一个语句将不会被编译,除了 MS VC++有自己的语言扩展,通常只是编译器错误。:)。

关于c++ - 实例化类的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661317/

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