c – 如何创建不可复制元素的容器

前端之家收集整理的这篇文章主要介绍了c – 如何创建不可复制元素的容器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使用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)的要求,以及可分配类型的附加要求.”

猜你在找的C&C++相关文章