是否有更好或正确的方法在 C++ 中使用带有 vector 的对象

is there better or correct way to use objects with vector in c++?

本文关键字:对象 vector C++ 方法 更好 是否      更新时间:2023-10-16

我有这样的类:

class Foo{
public:
   Foo(); 
   Foo(int, int, int)
  ~Foo();
private:    
   int a;
   int b;
   int c;
}

和int main函数,喜欢将我的元素(对象)保存在向量中:

int main()
{
   vector <Foo*> foo; // <------this line
   for(int i=0; i<=500; i++){
   foo.push_back(new Foo(i+1,i+2; i+3)); //<------ this line 
}

有没有更好的解决方案来做到这一点并替换上面的 2 行?

TNX 全部;

你需要忘记Java的东西,你总是写"new"只是为了创建一个对象。

int main()
{
   vector<Foo> foo;
   for(int i=0; i<=500; i++)
       foo.push_back(Foo(i+1, i+2, i+3));
}

或者,在第 11 C++,

int main()
{
   vector<Foo> foo;
   for(int i=0; i<=500; i++)
       foo.emplace_back(i+1, i+2, i+3);
}