gpt4 book ai didi

c++ - 禁用复制/分配,自动为 child 禁用?

转载 作者:搜寻专家 更新时间:2023-10-31 01:37:18 26 4
gpt4 key购买 nike

当使用以下代码禁用复制和赋值时:

Foo(const Foo&) = delete;
Foo& operator=(const Foo&) = delete;

这是否也会自动禁用 Foo 的子类的复制和分配?

class Bar : public Foo {
}

或者换句话说,Bar可以被复制吗?

最佳答案

是的,这也禁止隐式复制子类。事实上,这就是从 boost::noncopyable ( http://www.boost.org/doc/libs/master/libs/core/doc/html/core/noncopyable.html ) 继承的方式。然而,有些人总是可以为子类编写自己的复制构造函数/复制赋值,但实际上并不复制 Foo 组件,或者以不同的方式复制它。

关于c++ - 禁用复制/分配,自动为 child 禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340278/

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