Python字典到C ++映射

时间:2018-06-20 14:08:03

标签: python c++ dictionary

我对C ++非常陌生,正在尝试将字典翻译成C ++格式。我似乎无法从此处提交的先前问题中找到所需的答案。

我的代码如下:

#include <iostream>
#include <map>

using namespace std;

typedef std::map<string, int> BasePairMap;

int main()
{
    BasePairMap m;

    m['power'] = 0;
    m['select'] = 1;
    m['backup'] = 2;
    ...
    ...
    ...
    m['rewind'] = 71;
    m['boxoffice'] = 240;
    m['sky'] = 241;


    return 0;
}

但是我一直收到字符溢出错误。如何在C ++中将字符串/整数对映射在一起?

谢谢

1 个答案:

答案 0 :(得分:2)

尽管许多语言(例如Python)允许开发人员对字符串使用单引号或双引号,但是在C ++中,您需要使用双引号(reference)。 char类型使用简单的引号来描述单个字符(reference)。

因此您的代码应为:

#include <iostream>
#include <map>

using namespace std;

typedef std::map<string, int> BasePairMap;

int main()
{
    BasePairMap m;

    m["power"] = 0;
    m["select"] = 1;
    m["backup"] = 2;
    // ...
    m["rewind"] = 71;
    m["boxoffice"] = 240;
    m["sky"] = 241;

    return 0;
}