我想做与制作类的实例相反的操作noncopyable
,即确保特定类的实例可以仅作为拷贝传递,并且不作为引用。如果任何函数试图通过引用接收它,我希望它给出编译错误(理想情况下)或运行时错误。
我不认为将 operator &
设为私有(private)会这样做,是否有合法的方式这样做。
最佳答案
那是不可能的。任何命名变量都可以绑定(bind)到适当类型的引用变量。这就是语言的工作原理。
特别是,你永远不可能有一个 复制构造函数 有你的限制,所以你实际上不能按值传递对象!
关于c++ - 是否可以禁止引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236048/