我是 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++ 中将字符串/整数对映射在一起?
谢谢
最佳答案
虽然许多语言(例如 Python)允许开发人员对字符串使用单引号或双引号,但在 C++ 中您需要使用双引号 (reference)。单引号用于描述单个字符 ( reference ) 的 char
类型。
所以你的代码应该是:
#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;
}
关于Python 字典到 C++ 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950220/