C++ 我应该如何存储对象

C++ 我应该如何存储对象,c++,qt,C++,Qt,我有一个名为human的类,它包含int-age、int-height、QString-name等信息 用户点击按钮按钮添加新的人类信息,程序在用户输入信息时创建新的人类对象(例如,john、johan等) 我想存储所有的对象,然后我想能够访问每个单独的对象及其成员。存储对象的最佳方式是什么 我想做的是声明static std::vector humanVector 然后 这听起来正确吗?或者我需要用不同的方法来做,或者使用不同的方法来做 static std::vector humanVect

我有一个名为
human
的类,它包含
int-age、int-height
QString-name
等信息

用户点击按钮按钮添加新的人类信息,程序在用户输入信息时创建新的人类对象(例如,john、johan等)

我想存储所有的对象,然后我想能够访问每个单独的对象及其成员。存储对象的最佳方式是什么

我想做的是声明
static std::vector humanVector

然后

这听起来正确吗?或者我需要用不同的方法来做,或者使用不同的方法来做
static std::vector humanVector

如果使用static
std::vector humanVector,需要确保在向量范围之前释放向量中的对象,否则会导致内存泄漏问题

使用
std::vector humanVector是异常安全的,它负责破坏对象。std::shared_ptr是一个智能指针,它通过指针保留对象的共享所有权。当发生以下任一情况时,对象将被销毁并释放其内存:
拥有该对象的最后一个剩余共享\u ptr将被销毁。

最后一个剩余的SyrdypTR拥有对象,通过操作符=或ReStET()来分配另一个指针。

如果是C++,并且包含<代码>新< /C>,它就不“听起来正确”:-S(听起来更像是某人遵循java教程并对自己说,“现在我知道C++”。我是C++新手:)我在听别人的教程,但现在找不到,但我也看到了不同的用法。我无法决定如何存储这些对象。如果您能告诉我存储它的正确方法,我将不胜感激。
std::vector
将是一个开始。是否需要声明为
static
?另外,您是否需要存储指向
人类
对象的指针,为什么不像Kerrek SB建议的那样存储实际对象(
std::vector
)?
humanVector.push_back( new human(name, age, height));