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