Эти вопросы относительно просты. При использовании векторов следует использовать оператор new
при нажатии нового элемента? И какой метод выпуска я должен позвонить? Вот что я имею в виду:Новый оператор с векторами
// Release method: 1.
void ReleaseMethodOne(vector< int * > &ThisVector)
{
// Clear out the vector.
ThisVector.clear();
return;
}
// Release method: 2.
void ReleaseMethodTwo(vector< int * > &ThisVector)
{
// Clear out the vector.
for(unsigned uIndex(0); uIndex < ThisVector.size(); uIndex++)
{
delete ThisVector.at(uIndex);
}
return;
}
int main()
{
vector< int * > Vector;
// Add a new element.
Vector.push_back(new int(2));
// More code...
// Free the elements before exiting. Which method should I call here?
ReleaseMethodOne(Vector); // This one?
ReleaseMethodTwo(Vector); // Or this one?
return 0;
}
Я начал изучать векторы, не так давно, и книга, которую я узнавал от сказал, что clear()
метод вектора назвал каждый из деструктора элементов. Это относится к оператору new
?
+1 для обозначения правильного пути создания вектора ints. – Kleist