假设我在C ++中创建了一个用户定义的变量。如何在地图中将该变量用作值?
例如:
std::map<int, mytype> mappa;
[如果我能得到一些简单的示例,以便我能完全理解该概念,那就太好了。
#include <iostream>
#include <map>
class MyClass
{
// Upto you how your class looks like
};
int main()
{
// A map where key = int and value = MyClass
std::map<int, MyClass> myMap;
// Have some objects of MyClass to demonstrate the use of myMap
MyClass obj1, obj2, obj3;
/* Some basic operations */
// Example of insertion
myMap.insert({12, obj1});
myMap.insert({13, obj2});
myMap.insert({22, obj3});
// Example of deletion
myMap.erase(22); // removes myMap[22] i.e. obj3 leaves the map
// Example of searching
if (myMap.find(22) != myMap.end())
{
// process myMap[22]
std::cout << "myMap[22] exists";
}
else
{
std::cout << "myMap[22] does not exist";
}
// ...
return 0;
}
基本上,在地图中使用用户定义的类型作为
values并没有什么困难。如果您打算将它们用作keys,则可以查看this帖子。
您也可以查看此documentation,以了解其更多功能。