⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.cpp

📁 这是一些STL的学习程序,是我以前学习STL时编写的,适合初学STL的人!有兴趣的可以下载下来看一看!
💻 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 + -