c++11中范围for语句遍历map和map的关键字可以是迭代器吗?

2025-05-07 01:02:45
推荐回答(1个)
回答1:

//尝试改了一下,看看是不是你想要的。
#include 
#include 
#include 
#include 
#include //增加头文件set
using std::map;
using std::vector;
using std::set;

int main(){
vector data{ 45, 78, 98, 65, 32, 55, 64, 12, 54, 78, 56 };
map::iterator, int> mymap;//decltype(data[0])的类型是int& 这里应该想要int
  for (auto it = data.begin(); it != data.end(); ++it)
mymap[it] = *it;

for (auto &e : mymap)
std::cout << *e.first << " " << e.second << std::endl;//输出一个vector::iterator没意义吧?是想输出值?

return 0;
}