gpt4 book ai didi

c++ - 复制构造函数和 operator= 中的不可复制对象和异常

转载 作者:太空狗 更新时间:2023-10-29 20:00:16 26 4
gpt4 key购买 nike

我想让类的对象不可复制,所以我将复制构造函数和 operator= 放在私有(private)部分。但是,有一个类是此类的友元,因此它可以访问私有(private)方法。将抛出异常放在复制构造函数和 operator= 中以确保不会复制对象是个好主意吗?

最佳答案

使它不可复制的一种方法是只声明复制构造函数,但根本不实现它。如果有人试图使用它,这将在编译时强制出现链接器错误。

class foo
{
private:
foo(const foo&); // not defined
foo& operator=(const foo&); // not defined
};

关于c++ - 复制构造函数和 operator= 中的不可复制对象和异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7763617/

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