在映射C++中创建特定大小的向量
Creating a vector of specific size in a map C++
嗨,假设我想创建一个map<int, vector<node> >
形式的映射,其中定义了节点作为
struct node{
string key;
double pnum;
node():key(""),pnum(0) {}
};
现在,如果有人给我一个地图键,说"Element_1",然后创建一个向量大小为2的可以/安全吗键"Element_1"下的矢量,如下所述?
int main(void)
{
map<string,vector<node> > samplemap;
samplemap["Element_1"] = vector<node>(2);
}
上面的代码编译了,我可以打印出存储在键"Element_1"下的向量。(打印默认值(。
如果有人给我一个地图键,比如"Element_1"和一个向量大小为2的向量,在键"Element_1"下创建向量可以/安全吗?
是的,我的朋友。如果密钥已经存在,则它会更新相关值,否则它会创建一个具有默认值[即vector<node>()
]的密钥的新条目,然后更新指定值[即vector<node>(2)
]。
顺便说一下,vector<node>(2)
创建大小为2
的向量。也就是说,它将通过调用node
的默认构造函数来创建两个类型为node
的元素。
相关文章:
- 如何在 c++ 中创建结构向量的映射
- 在C++中初始化向量映射的最有效方法
- C++ STD 函数运算符:有没有一种方法可以通过函数将一个向量映射到另一个向量上?
- 字符串共享内存映射的向量
- 具有 2 个分量的数组的特征映射到 3 的向量
- 当键值是 std 向量时,为什么使用 at in C++ 访问映射值如此缓慢?
- 当映射包含字符串向量作为值时,从值中获取键的有效方法
- 如何初始化 std::向量的映射?
- 将一个向量映射到不同的对,即使向量映射到每对时是不同的?
- 如何从向量映射中迭代向量
- 当请求的键丢失时,有没有办法从向量映射返回 std::vector ref?
- 向量映射作为实例成员的C 地图
- 为什么内置排序无法对向量映射进行排序
- 使用派生类的向量映射调用其类的函数
- 使用派生类的向量映射
- 如何将const_cast的const指针向量映射到非常量指针向量
- 将字符串向量映射为整数
- 是否有可能创建一个向量映射,其中向量可以是任何类型
- 不能访问指针-向量映射元素
- c++从向量映射中获取一个向量