簡體   English   中英

矢量C ++地圖

[英]map of vectors C++

嗨,如果我用C ++創建了類型為map<int, vec<double>>的STL映射,向量是否存儲在連續放置在內存中的不同鍵下?

從技術上講,這將取決於map的實現,但是通常,map被實現為Tree,因此由於tree數據結構的性質,存儲在內存中不是連續的。

*

映射根據需要動態分配元素。 因此,每個vector都可以放置在內存中的任何位置(並可能隨時間推移而移動)。

還要記住, vector本身內的元素存儲也是動態分配的。 因此,即使您只創建了一個簡單的std::vector<double> my_vectors[10] ,元素向量也不會在各個向量之間相鄰。

*可以想象,實現可以從數組支持的存儲中分配,但是您將不能依靠這種行為。 因此,最好假設“否”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM