c++ - 是否可以禁止引用对象

标签 c++

我想做与制作类的实例相反的操作noncopyable,即确保特定类的实例可以作为拷贝传递,并且不作为引用。如果任何函数试图通过引用接收它,我希望它给出编译错误(理想情况下)或运行时错误。

我不认为将 operator & 设为私有(private)会这样做,是否有合法的方式这样做。

最佳答案

那是不可能的。任何命名变量都可以绑定(bind)到适当类型的引用变量。这就是语言的工作原理。

特别是,你永远不可能有一个 复制构造函数 有你的限制,所以你实际上不能按值传递对象!

关于c++ - 是否可以禁止引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236048/

相关文章:

c++ - shared_ptr 不能为空?

c++ - 在 ubuntu 中使用 g++ 编译时,Open AL 的函数给出 undefined reference 的错误

c++ - 采用一种显式类型的函数

c++ - scons 在一个模块中设置 CXXFLAGS 会影响另一个模块

c++ - 为什么将指针作为参数传递时内存分配失败

c++ - 匹配派生类型而不是基类的模板方法

c++ - 窗口 C++ : how to timeout receiveFrom function in a udp based conversation

c++ - 将 Depthbuffer 和 TextureBuffer 发送到同一个 Fragment OpenGL3

c++ - 缓存单个重写计算 C++11

c++ - 从 vector 中删除指针