看板Programming
标 题Re: 请问在c++中如何在class中增加一个向量成员
发信站KKCITY (Fri Aug 25 03:21:46 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntust!news.ntu!bbs.ee.ntu!news.
还凡人只能用回圈勒…真是一整个无言。
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
》──┘※※ 内容丰富多元的线上音乐台 ※※
--