2016-10-25 58 views
0

如果我定義了vector<double> v;這個向量是否佔用連續的內存插槽?如果它佔用連續的內存插槽,那麼如果我在此矢量中添加一些新元素而最後一個元素之後沒有足夠的內存插槽會發生什麼?在C++中,矢量是否佔用連續的內存插槽?

+0

是。如果它們不適合當前分配的空間,它將重新分配這些元素。 – wally

+0

這被稱爲連續存儲,並且有兩個標準容器可以保證它:向量和數組。在C++ 17中,他們將添加一個帶有這種保證的迭代器:ContiguousIterator。 – jaggedSpire

+0

這種類型的存儲允許您在O(1)複雜性(非常快)的數據結構中檢索元素。 – Spidey

回答