我想在 C++ 中创建类似 python 字典的东西

Jam*_*lfe 4 c++ python

我正在使用结构。有没有办法遍历所有“数字”类型的项目?

struct number { int value; string name; };
Run Code Online (Sandbox Code Playgroud)

Alo*_*kur 8

在 c++ 中,map 的工作方式类似于 python 字典,但是两种语言有基本的区别。C++ 是类型化的,python 有鸭子类型。C++ Map 是类型化的,它不能接受任何类型的 (key, value) 像 python 字典。一个示例代码,使其更清晰 -

  map<int, char> mymap;
  mymap[1] = 'a';
  mymap[4] = 'b';
  cout<<"my map is -"<<mymap[1]<<" "<<mymap[4]<<endl;
Run Code Online (Sandbox Code Playgroud)

您可以使用技巧来获得可以接受任何类型密钥的地图,请参阅 - http://www.cplusplus.com/forum/general/14982/


Emb*_*d C 3

根据我的理解,您想要访问 avaluename使用number. 你可以去array of structurenumber n[5];wheren[0],n[1],...n[4] 但我们在 c++ 中有一些附加功能可以通过预定义来实现这一点map, set 你可以找到很多关于地图的示例