Re: 請問在c++中如何在class中增加一個向量成員
還凡人只能用回圈勒…真是一整個無言。
vector 本來就是動態大小的。
一般來說,大概只需要這樣:
vector<string> text;
text.push_back("world");
text.push_back("wide");
text.push_back("web");
cout << "目前已經存放了 " << text.size() << " 個單字:\n";
for (int i=-1; ++i!=text.size();) cout << '\t' << text[i] << '\n';
對於操作子 [] 來說,只要在 .size() 內的非負整數都能直接操作。
text[2] = "change"; // 正確
text[9] = "new"; // 行為未定義
關於效能:
1. 可以指定初始時的大小
vector<type> v(n); // 指定初始大小為 n
2. 預備容量
當容器容量不足時 vector 會自動重新配置記憶體以滿足需要。
你可以指定預備容量,以免 vector 一再的重新配置記憶體。
v.reserve(99); 指定預備容量為 99
int c = v.capacity(); 取得目前的已預備容量。
也就是說,當你刪減元素時,它並不會歸還記憶體,
除非 vector 變數被消滅。
--
<< 請支持 教育標準流程 及 教室秩序維護法 納入教育基本法。 >>
--
┌─────◆KKCITY◆─────┐KKMAN團隊 全新力作 ◎◎KKBOX◎◎
│ bbs.kkcity.com.tw │知名歌手通通都有 所有新歌想聽就聽
└──《From:61.58.109.42 》──┘※※ 內容豐富多元的線上音樂台 ※※
--
討論串 (同標題文章)
完整討論串 (本文為第 6 之 9 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章