到目前为止,在删除向量之前,我总是使用vector::clear()。但这是必要的吗?难道不是在析构函数中调用vector::clear()函数吗?
// Consider I have this vector
std::vector<uint32_t>* myVector = new std::vector<uint32_t>(50);
... // vector gets filled
myVector->clear(); // <-- redundant??
delete myVector;
myVector = nullptr;
new
来实例化std::vector
?是否有特殊的原因呢? - πάντα ῥεῖnew
。 - PaulMcKenziestd :: unique_ptr
非常适合此用途。这是C ++ 14,您的编译器现在应该支持它。尝试auto x = std::make_unique<std :: vector <uint32_t >> (50)
。 - Zan Lynx