[英]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.