// Program: Vector Demo 1
// Purpose: 用於演示STL vector
// #include "stdafx.h" - 如果你使用預編譯需要包含此文件[[#ExplainIn2][注2]]
#include <vector> // STL vector 頭文件. 注意,並沒有".h"
#include <iostream> // 需要用到 cout
using namespace std; // 確保命名空間是 std
char* szHW = "Hello World";
// 衆所周知,這是個以NULL結尾的字符數組
int main(int argc, char* argv[])
{
vector <char> vec; // 一個字符類型的vector(相當於STL中的數組)
// 爲字符vector定義迭代器
vector <char>::iterator vi;
// 初始化字符vector,循環整個字符串,把每個字符放入vector中,直至字符串末尾的NULL字符
char* cptr = szHW; // Hello World 字符串的首地址
while (*cptr != '/0')
{ vec.push_back(*cptr); cptr++; }
// push_back 函數把數據插入vector的最後
// 把存在STL數組中的每個字符打印到屏幕上
for (vi=vec.begin(); vi!=vec.end(); vi++)
// 這就是在STL中循環的標準判斷方式- 經常使用 "!=" 而不是 "<"
// 某些容器可能並沒有重載操作符 "<" 。
//begin()和end()會得到vector的開頭和結尾兩個元素的迭代器(指針)
{ cout << *vi; } // 使用間接操作符(*)從迭代器中取得數據
cout << endl; // 輸出完畢,打印 "/n"
return 0;
}