繁体   English   中英

访问向量的 map 中的向量元素

[英]Accessing elements of a vector in a map of vectors

我想创建一个向量的 map。 我希望向量成为私有成员变量,但是当我需要为 map 中的特定键增加向量的大小时,它也会对 map 中的所有其他键执行此操作(这行得通吗?)。 这将是向量(整数)的 map,其中键是字符串。 我的问题是如何访问向量中的特定元素以更改 C++ 中的值。 类似于 map_name['word'].[3] 的内容 = 2 如果我想将“单词”向量的第三个值设置为 2。

在此处输入图像描述

在此处输入图像描述我仍然无法弄清楚如何制作它,因此地图中所有键的每个向量的大小都是可修改的,因此我可以在程序中的任何点增加每个向量的大小。 这是 b/c 向量大小在运行时是未知的,并且迭代 map 中的每个元素以更改向量大小将花费太长时间。

该模式是递归的。

也就是说,当你这样做时:

expression[key] = value;

您的expression不必只是一个变量名; 它可以是更复杂的表达式,例如map_name["word"]

所以:

map_name["word"][3] = 2;

关于第一个问题,是的,正如其中一个评论中提到的那样,您可以让您想象中的 class 做到这一点。 在第二个问题中,您必须访问向量的元素,该元素是 map 的元素,如下所示: map1["abc"][1] = 2 The '.' 您添加是不必要的,因为您正在访问另一个元素内的元素,就像二维数组一样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM