【C++ STL】Vector的遍历(2)

0 阅读1分钟

下标遍历

vector<int> vt = {1, 3 ,5};

for (int i = 0; i < vt.size(); i++)
{
	cout << vt[i] << endl;
}

普通迭代器遍历

vector<int> vt = {1, 3 ,5};


for (vector<int>::iterator it = vt.begin(); it != vt.end(); ++it)
{
	cout << *it << endl;
}

范围for遍历(c++11,推荐)

vector<int> vt = {1, 3 ,5};

for ( int num : vt)
{
	cout << num << endl;
}

常量迭代器遍历(只读)

vector<int> vt = {1, 3 ,5};
for (vector<int>::const_iterator it = vt.begin(); it != vt.end(); ++it)
{
	cout << *it << endl;
}

STL算法遍历(for_each)

#include <iostream>
#include <vector>
#include <algorithm>


using namespace std;

void printInt(int val)
{
	cout << val << endl;
}


int main()
{
	vector<int> vt = {1, 3 ,5};
	
	for_each(vt.begin(), vt.end(), printInt);

	return EXIT_SUCCESS;
}