我想在复制构造函数中复制一个 int 类型的向量向量。
std::vector<std::vector<int> * > * bar;
这不起作用:
Foo(const Foo& rhs)
: bar(new std::vector<std::vector<int> * >(rhs.vec->size())) {
for (std::size_t i = 0; i < rhs.bar->size(); i++) {
bar->push_back(new std::vector<int>());
for (size_t j = 0; j < (*rhs.bar)[i]->size(); j++) {
bar->back()->push_back((*rhs.bar)[i]->at(j));
}
}
}
我还想我是否可以使用一些东西,swap
但back()
我不确定这是否可行。
有人可以告诉我制作副本的正确方法吗?提前感谢您的帮助!