C++ STL映射,自定义类为第二类

Jay*_*ley 5 c++ map

我想创建一个带有int和我自己的自定义类的地图.有没有办法做到这一点?

map<int, MyClass> myMap;
Run Code Online (Sandbox Code Playgroud)

如果没有,我该如何实现这一目标?基本上,我想要一个id(或者最好是一个enum)指向我自己的自定义类.在大多数其他语言中,这将是一个简单的哈希.

Jes*_*der 10

#include <map>

std::map<int, MyClass> myMap;

MyClass foo;
myMap[5] = foo;
myMap[5].bar = 10;
Run Code Online (Sandbox Code Playgroud)

您确实需要MyClass默认和可复制,因此可以创建(例如,如果您使用myMap[5])并将其复制到地图中.