有人可以給我一個如何爲向量分配內存的例子嗎?我需要幾條線。 我有一個發生在20〜30個元素的向量..但是當我嘗試清點,並編譯它,我只得到了第一對夫婦的條目..爲一個向量分配內存
15
A
回答
38
的std::vector管理它自己的內存。您可以使用reserve()和resize()方法有它分配足夠的內存,以適應項目一定量:
std::vector<int> vec1;
vec1.reserve(30); // Allocate space for 30 items, but vec1 is still empty.
std::vector<int> vec2;
vec2.resize(30); // Allocate space for 30 items, and vec2 now contains 30 items.
7
看看this 您使用list.reserve (N);
Vector處理它的內存,你根本不需要使用reserve()。如果您已經知道向量列表需要多大,它纔會真正提高性能。
例如:
std::vector<int> v;
v.reserve(110); // Not required, but improves initial loading performance
// Fill it with data
for(int n=0;n < 100; n++)
v.push_back(n);
// Display the data
std::vector<int>::iterator it;
for(it = v.begin(); it != v.end(); ++it)
cout << *it;
相關問題
- 1. 向量C++內存分配
- 2. 錯誤的內存分配C++爲一個向量
- 3. 爲MPI分配一個C++向量對
- 4. 內存泄漏與分配的結構包含一個向量
- 5. 與向量的push_back內存分配
- 6. 向量分配和內存使用
- 7. 分配矢量另一個向量
- 8. 內存分配「錯誤:無法分配大小爲75.1 Mb的向量」
- 9. 如何一次爲幾個向量分配一個矩陣?
- 10. 變量的內存分配
- 11. 變量的內存分配
- 12. 變量內存分配
- 13. 分配常量內存
- 14. 2向量對象指向相同的分配內存
- 15. 在一個向量中分配值
- 16. 爲整個結構向量分配一個結構元素?
- 17. 基於另一個部分匹配向量的排序向量
- 18. 矢量指針內存分配矢量
- 19. dynamiclly爲類分配內存
- 20. 爲NSString分配內存?
- 21. 爲struct「error」分配內存
- 22. 分配內存爲載體
- 23. 內存分配行爲8
- 24. 爲結構分配內存
- 25. 爲數組分配內存
- 26. 我可以爲多個向量使用一個內存池嗎?
- 27. 分配內存到一個對象c#
- 28. 每個對象是否爲常量分配內存?
- 29. C++分配內存一類
- 30. 紅寶石:分配另一個內存包括模塊變量
你有任何代碼,你能說明什麼?你的問題的最後一行真的讓我困惑 – Default 2010-12-13 10:15:49
是的,這聽起來像你在你的代碼中犯了一個錯誤。你可能不應該手動保留空間 – Oystein 2010-12-13 10:27:06