gpt4 book ai didi

c++ - 删除与空复制构造函数

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

emptydeleted 拷贝构造函数的例子:

class A
{
public:
// empty copy constructor
A(const A &) {}
}

class B
{
public:
// deleted copy constructor
A(const A&) = delete;
}

他们在实践中是否做同样的事情(禁用对象复制)?为什么 delete 优于 {}

最佳答案

Are they doing the same in practice (disables copying for object)?

没有。尝试调用已删除的函数会导致编译时错误。可以调用一个空的复制构造函数,它只是默认初始化类成员而不是进行任何复制。

Why delete is better than {}?

因为您实际上不太可能想要空复制构造函数提供的奇怪的“复制”语义。

关于c++ - 删除与空复制构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323640/

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