为了禁止复制构建和复制分配,我已经看到了boost noncopyable类,并且在Google样式指南中看到了DISALLOW_COPY_AND_ASSIGN宏.有没有理由更喜欢其中一种技术,或者应该注意哪些微妙的差异?
我更喜欢对宏进行boost noncopyable,因为它不是宏,而且更容易(IMO)使用.
在实际代码中,我没有使用它们并且自己编写所需的两个声明.
但是,您可能感兴趣的一个细微差别是,当类本身尝试复制对象时(但后来无法链接),使用该宏或您自己的声明不会产生编译器错误.noncopyable但是在这种情况下也会发出编译器错误信号,因为它是基类,其函数声明为private,而不是类本身.