#include <iostream>
#include <string>
using namespace std;
#include <vector> // 容器头文件
#include <algorithm> // 标准算法头文件
// 此处的参数类型 和 vector<int>v; 中的类型一致 是 int
void myPrint(int num){
cout << num << endl;
}
int main()
{
// 原生指针也是迭代器:依序寻访某个容器所含的各个元素
// int arr[5] = {1,2,3,4,5};
// int* p = arr;
// for(size_t i=0; i < 5; i++)
// {
// cout << *(p++) << endl;
// }
// vector<类型>名字
vector<int>v; // 创建了一个v容器,里面存放int类型的数据
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
// 方法1:
// v.begin() //起始迭代器,指向容器中的第一个数据
// iBegin中存的是第一个数据了
// 相当于int a = 10
// vector<int>::iterator iBegin = v.begin();
// vector<int>::iterator 就是 vector<int>容器的迭代器(iterator)
// vector<int>::iterator iEnd = v.end(); // v.end()结束迭代器,指向的是容器中最后一个元素的后一个位置
// 遍历容器中的数据,只要不等于最后一个的后一个位置,就一直++下去 迭代器就是位置
// while(iBegin != iEnd)
// {
// cout << *iBegin << endl;
// iBegin++;
// }
// 方法2:
// for(vector<int>::iterator it = v.begin(); it != v.end(); it++){
// cout << *it << endl;
// }
// cout << "---" << endl;
// 方法3:算法实现 用 for_each(开始迭代器,结束迭代器, 回调函数) 算法实现
for_each(v.begin(), v.end(), myPrint); // myPrint自己i写的一个回调函数,不要加小括号,加了会立即执行
return 0;
}
C++ 85 之 STL基础
于 2024-06-19 19:55:28 首次发布