是否有更好或正确的方法在 C++ 中使用带有 vector 的对象
is there better or correct way to use objects with vector in c++?
我有这样的类:
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);
}
相关文章:
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- std::vector::p ush_back() 不会在 MSVC 上编译具有已删除移动构造函数的对象
- 传递 std::vector of std::shared_ptr,而不是更新对象
- vector是否为std::移动的对象连续分配内存
- 为什么 vector 的方法调整大小会创建一个额外的对象?
- 将RVO对象传递到std::vector::template_back
- 如何从 boost::container::vector<std::string>::iterator 访问索引和对象?
- 错误 C2280 / 在 std::vector 中实例化对象时复制构造函数出现问题?
- 如何从 Pyhon 端对存储在 std::vector 中的对象进行持久更改,作为 std::shared_ptr
- 如何将 Python 对象转换为 Cython 扩展类型的 std::vector 并返回?
- 访问类的 std::vector 与 for 循环中的 custum 类对象
- 如何将类对象push_back到 std::vector 中
- 具有另一个类对象的 std::vector 的类
- 使用运算符重载添加存储在 vector 中的类对象
- 我如何在std :: vector中生成对象,而无需复制
- 如何在用户定义类型的向量上使用 vector::p ush_back() 来仅修改一个对象?
- C++ std::vector 创建对象然后添加对象与在向量中创建对象之间的区别?
- 在<Object>基于范围的 for 循环中从 std::vector 获取指向对象的指针
- 成员功能在面向对象的框架中返回std :: vector.size()的效率
- 不允许抽象类类型的对象 "Vector<LinkedList<int>>"