0
我所需要的以下数据结构来存储一些数据:C++向量的地图的地图作为实例成员
std::map<int, std::map<unsigned long, std::vector<unsigned long> > > lifetime ;
上述map
将是一个类的实例构件。问题是,当我第一次访问它们时,是否需要使用new
或构造函数显式初始化内部容器?例如:
if (this->lifetime[sm].find(address) == this->lifetime[sm].end()) {
(this->lifetime[sm])[address] = std::vector<unsigned long>() ;
}
我好像也并不了解的载体和地图是如何初始化为实例成员和嵌套的时候,所以我希望得到的一些解释,以及细节。
因此,像'this-> lifetime [sm] [address] .push_back(current_cycle)';没有任何事先初始化会有效吗? – DarthPaghius
@parsoa试试看看。 – xaxxon
@xaxxon好吧,它似乎不起作用,矢量需要事先初始化,你能解释为什么吗? – DarthPaghius