📄 vector.cpp
字号:
// 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;
vector<char>::reverse_iterator rvi;//反向输出
for (rvi=vec.rbegin(); rvi!=vec.rend(); rvi++)
{ cout << *rvi; }
cout << endl; // 输出完毕,打印 "\n"
cout<<"vector的信息:"<<endl;
cout<<"size:"<<vec.size()<<endl<<"Capacity:"<<vec.capacity()<<endl<<"第六个元素:"<<vec.at(6)<<endl;
return 0;
}
//c.max_size() 返回容器中最大数据的数量。
//c.at(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range。
//c.capacity() 返回容器中数据个数。
//c.size() 返回容器中实际数据的个数。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -