簡體   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