是否可以初始化不可复制对象的向量向量?
class obj : private boost::noncopyable {
// ...
};
vector<vector<obj> > v(10); // OK
for(int i = 0; i < v.size(); ++i)
v[i].resize(10); // ERROR
还
vector<vector<obj> > v(10, vector<obj>(10)); // ERROR
我明白为什么上面的代码无法编译。我要问的是是否有解决方法。似乎如果std::vector
有一个这样的成员函数resize_from_zero
不需要复制构造函数,那么这将是可行的。
(我的问题是关于 C++03,如果这有所作为)