c++ clang和g++在unordered_map的坑

2019-08-22  本文已影响0人  王王王王王景

前言

在有一天在做笔试题目的时候使用mac os的xcode写笔试题目的时候发现一个坑,我使用unordered_map的时候居然神奇发现我遍历的顺序和我插入的顺序不一样,害得我自己有用vector接收重新排序,代码如下:

#include <unordered_map>
#include <iostream>
using namespace std;
int main()
{
    unordered_map<char, int> _map;
    _map['A'] = 1;
    _map['B'] = 2;
    _map['C'] = 1;
    _map['S'] = 4;
    _map['K'] = 1;
    _map['E'] = 5;
    for (unordered_map<char, int>::iterator iter = _map.begin(); iter != _map.end(); ++iter)
        cout << iter->first << "   " << iter->second << endl;
}

下面是mac os xocde运行的结果图:


mac os xocde运行的结果

下面是windows10 vs2019运行的结果图:


windows10 vs2019运行的结果
上一篇 下一篇

猜你喜欢

热点阅读