如何在 CPP 中创建这样的列表?
how do I create a list like this in CPP?
这是我的11年级cs班。我正在创建一个将水平转换为百分比的程序。 这是我为我的 python 代码制作的一个列表,它向用户显示他们进入级别时的百分比(例如 3+(,但我想知道我是否可以在 C++ 中做这样的事情。
grade= {}
grade['R-'] = '0%'
grade['R'] = '30%'
grade['R+'] = '40%'
grade['1-'] = '50%'
grade['1'] = '53%'
grade['1+'] = '57%'
grade['2-'] = '60%'
grade['2'] = '63%'
grade['2+'] = '67%'
grade['3-'] = '70%'
grade['3'] = '73%'
grade['3+'] = '77%'
grade['4-'] = '80%'
grade['4'] = '87%'
grade['4+'] = '95%
与 Python dict
最相似的类型是 std::unordered_map
(元素的顺序由实现定义(。
请注意,Python 3.7 保证保留dict
的广告顺序,但C++中没有标准实用程序提供此类功能(除非您愿意使用 std::vector<std::pair<...>>
(。
std::map
保证键按某种顺序排序(默认值为 operator <
,对于std::string
来说,这意味着字典顺序,就像现实世界的字典一样(。
你可以像这样使用它:
#include <unordered_map>
#include <string>
int main()
{
std::unordered_map<std::string, std::string> grade;
grade["R-"] = "0%";
grade["R"] = "30%";
grade["R+"] = "40%";
grade["1-"] = "50%";
grade["1"] = "53%";
grade["1+"] = "57%";
grade["2-"] = "60%";
grade["2"] = "63%";
grade["2+"] = "67%";
grade["3-"] = "70%";
grade["3"] = "73%";
grade["3+"] = "77%";
grade["4-"] = "80%";
grade["4"] = "87%";
grade["4+"] = "95%";
}
请注意双引号 - C++看到单引号(用于单字符(和双引号(用于字符串(之间的区别。
当然你可以喜欢这个:
#include <iostream>
#include <string>
#include <map>
using namespace std;
void main()
{
map<string, string> grade;
grade["R-"] = "0%";
grade["R"] = "30%";
grade["R+"] = "40%";
grade["1-"] = "50%";
grade["1"] = "53%";
grade["1+"] = "57%";
grade["2-"] = "60%";
grade["2"] = "63%";
grade["2+"] = "67%";
grade["3-"] = "70%";
grade["3"] = "73%";
grade["3+"] = "77%";
grade["4-"] = "80%";
grade["4"] = "87%";
grade["4+"] = "95%";
cout << '{';
for (auto item : grade) {
cout << ''' << item.first << ": '" << item.second << "', ";
}
cout << '}' << endl;
}
相关文章:
- 动态分配列表 - 创建一个函数,用于删除所有包含偶数值的元素
- 在c++中为链接列表创建复制构造函数/函数
- C++类型列表创建子列表
- 使用初始值设定项列表创建单个项向量
- 如何在C 类中使用备用参数列表创建和使用finturePointer
- C++:从两个包含子类 (typedef) 的列表创建一个列表
- 在线性时间内使用邻接列表创建对顶点
- 从类型列表创建向量元组
- C 链接列表创建链接列表的链接列表
- 需要一个宏来从 std::ostringstream 和 << arg 列表创建 std::string
- 从 2D C 列表创建 boost.geometry.model.polygon
- 如何在C++中使用 STL 列表创建循环
- 使用Templates从参数列表创建std::vector
- 链接列表创建节点
- 如何从 CGAL 中的坐标和拓扑列表创建Polyhedron_3数据结构
- 是否可以使用初始值设定项列表创建临时结构/类
- 如何通过子类型列表创建指针向量
- 为双链接列表创建类的新实例
- 如何用集合顶点列表创建boost子图
- 是否可以为通用元素列表创建排序