Python 字典到 C++ 映射

标签 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++ 中将字符串/整数对映射在一起?

谢谢

最佳答案

虽然许多语言(例如 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/

相关文章:

c++ - 在 C++ 中评估默认参数在哪里?

python - 将 pandas 数据帧转换为具有复合键的稀疏键项矩阵

ios - 如何形成一个 if 语句来选择几个字典中的一个?

python - 如何使用 Python 抓取网站数据?

python - 从模块导入函数失败,但可以导入类

python - 将两个数据帧组合成 y=mx+b 结果的矢量化方法

java - Guava - map 支持的 Guava 功能

python - 使用Python通过selenium Webdriver中的Url上传图像

c++ - 以下代码的作用是什么? C++

c++ - 为什么 sqlite3 不能与 NFS 一起工作?