关于C++一些你不知道的小技巧|for(:)、auto的用法

C++11的标准以后才能使用

for(:)

比如 for(auto count : counts)

其循环的目的是将,容器counts的每个元素均遍历一遍。
举个例子:

#include<iostream>
#include<vector>

using namespace std;

int main()
{
	vector<int> vecs;
	
	vecs.push_back(1);
	vecs.push_back(2);
	vecs.push_back(3);
	vecs.push_back(4);
	vecs.push_back(5);
	//当前容器内有 1 2 3 4 5
	for(auto vec:vecs)
	{
		cout << vec << " ";	
	}	
	cout << endl;
	for(int  vec1:vecs)
	{
		cout << vec1 << " ";
	}
	
	return 0;
}
 

输出结果如下:
在这里插入图片描述

auto

从上面的例子我们发现,auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,类似的关键字还有decltype。
在一些情况下auto的使用给我们做题带来便利,比如使用迭代器时,用auto代替,

#include<iostream>
#include<vector>

using namespace std;

int main()
{
	vector<int> vecs;
	
	vecs.push_back(1);
	vecs.push_back(2);
	vecs.push_back(3);
	vecs.push_back(4);
	vecs.push_back(5);
	//当前容器内有 1 2 3 4 5
	
	for(vector<int>::iterator a = vecs.begin(); a != vecs.end();a++)
	{
		cout << *a << " " ;
	}
	cout<< endl;
	for(auto a = vecs.begin(); a != vecs.end(); a ++)
	{
		cout << *a << " ";
	}
	return 0;
}
 

在这里插入图片描述
用auto代替vector::iterator节约更多的时间。

原创文章 50 获赞 139 访问量 2万+

猜你喜欢

转载自blog.csdn.net/diviner_s/article/details/104681587