初始化 std::map 在 class 中定义

Init std::map defined in class

大家好,我一直在寻找如何初始化这张地图,但找不到。

//Header
class EntityManager
{
    //Other class code
    private:
    std::map<Entity*, EngineEntity*> _gEntMap;
    //Other class code
}
//Source
EntityManager::EntityManager()
{
    //How to init map?
}

我问这个是因为当我尝试在这张地图中添加东西时,因为它没有初始化而给我一个错误。

因为它是 std::map 的对象,所以它应该自动初始化并准备好使用。如果您在尝试将内容插入地图时遇到错误,那是因为您做错了,而不是因为地图未初始化。

在您的特定地图中插入的示例:

_gEntMap.insert(std::make_pair(PointerToEntity, PointerToEngineEntity));