有没有办法使用带有不可复制元素的 STL 容器?
是这样的:
class noncopyable
{
noncopyable(noncopyable&);
const noncopyable& operator=(noncopyable&);
public:
noncopyable(){};
};
int main()
{
list<noncopyable> MyList; //error C2248: 'noncopyable::noncopyable' : cannot access private member declared in class 'noncopyable'
}
最佳答案
不,不可复制的元素不能在 C++ 容器类中。
根据标准,23.1 第 3 段,“这些组件中存储的对象类型必须满足 CopyConstructible
类型(20.1.3)的要求,以及 Assignable 的附加要求
类型。”
关于c++ - 如何创建不可复制元素的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1440287/