gpt4 book ai didi

vector 映射的 C++ 映射作为实例成员

转载 作者:行者123 更新时间:2023-11-27 22:45:30 25 4
gpt4 key购买 nike

我需要以下数据结构来存储一些数据:

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>() ;
}

我似乎也不了解 vector 和 map 如何初始化为实例成员以及何时嵌套的细节,因此我也希望对此有一些解释。

最佳答案

如果您使用 operator[],则不需要。当 operator[] 用于引用尚不存在的元素时,会自动创建一个条目,并初始化 mapped_type 值。

关于 vector 映射的 C++ 映射作为实例成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com