gpt4 book ai didi

c++ - 在 C++ 中禁止复制构造和复制赋值

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

为了禁止复制构造和复制赋值,我看到了boost noncopyable类和 Google 风格指南中的 DISALLOW_COPY_AND_ASSIGN宏。是否有任何理由偏爱其中一种技术而不是另一种技术,或者应该注意的任何细微差别?

最佳答案

我更喜欢 boost noncopyable 而不是宏,因为它不是宏,而且更容易 (IMO) 使用。

在实际代码中,我没有使用它们,而是自己编写了两个需要的声明。

不过,您可能会感兴趣的一个细微差别是,当类本身尝试复制对象(但稍后无法链接)时,使用该宏或您自己的声明不会产生编译器错误。 noncopyable 然而在这种情况下也会发出编译器错误信号,因为它是具有声明为私有(private)函数的基类,而不是类本身。

关于c++ - 在 C++ 中禁止复制构造和复制赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060688/

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