嵌入式開發(fā)內(nèi)存管理是非常重要的一環(huán),如何高效的使用vector,既能夠快速擴(kuò)展存儲空間,并且最大限度的使用存儲空間,避免C數(shù)組的越界問題
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了金昌免費(fèi)建站歡迎大家使用!
方案
vector提供多種構(gòu)造器
1 vector
vec.reserve(10);
默認(rèn)構(gòu)造器沒有分配任何的內(nèi)存空間,直到調(diào)用reserve(10),分配10個(gè)單位的存儲空間,如果后續(xù)存儲空間不夠,會重新分配一塊足夠大的內(nèi)存,避免了插入失敗
2 vector
當(dāng)前分配10個(gè)單位的存儲空間,此時(shí)所有的元素初始化為0,如果此時(shí)調(diào)用push_back函數(shù)
添加元素,vec的元素個(gè)數(shù)是11個(gè)
測試代碼
#include
int TestVector()
{
int v1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
std::vector
v2.reserve(10);
for (int i = 0; i < 10; i++)
{
v2.push_back(v1[i]);
}
std::vector
while (iter != v2.end())
{
cout << *iter << endl;
iter++;
}
return 0;
}