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代码>如果使用staticstd::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));