C++ | auto遍历map小技巧

写在前面的话:

当你发现即便使用C++中的vector二维数组依然会造成大量空间的浪费,你会怎么做呢?
——map / unordered_map

map的常用遍历方法(C++11中范围for循环):

	map<int,int> mp;

	for(auto &item : mp){
		int key=item.first; 	//键 
		int val=item.second;	//值 
		cout<<key<<' '<<val<<endl;
	}

值得注意的是,这里的firstsecond后面是没有括号的。


如果只需要遍历map的键或值,在C++17有如下方法:

	map<int,int> mp;
	
	for(auto &[key,_] : mp){//键 
		cout<<key<<' ';
	}
	for(auto &[_,val] : mp){//值 
		cout<<val<<' ';
	}

注意的是 _ 可以作为变量名。


你可能感兴趣的:(C/C++,c++)