-
std::multimap جفت های (کلید ، مقدار) را ذخیره می کند که در آن کلید و مقدار می توانند چندین بار ظاهر شوند
-
std::map فقط هر مقدار را یک بار برای یک کلید خاص ذخیره می کند. برای این کار باید مقادیر را مقایسه کرد ، نه کلیدها
-
td::map یک حافظه انجمنی است که به شما امکان می دهد یک کلید منحصر به فرد در ارتباط با مقدار نوع خود داشته باشید
مثال استفاده از std::map در C++:
void someFunction()
{
// declare Map
typedef std::map<std::string, int> MapType;
mapType myMap;
// insertion
myMap.insert(MapType::value_type("test", 42));
myMap.insert(MapType::value_type("other-test", 0));
// search
auto it = myMap.find("test");
if (it != myMap.end())
std::cout<<"value for"<<it->first<<"is"<<it->second<<std::endl;
else
std::cout << "value not found" << std::endl;
}
مثال استفاده از std::multimap در C++:
void someFunction()
{
// declare Multimap
typedef std::multimap<std::string, int> MapType;
mapType myMap;
// insertion
myMap.insert(MapType::value_type("test", 42));
myMap.insert(MapType::value_type("test", 45));
myMap.insert(MapType::value_type("other-test", 0));
// search
std::pair<auto first, auto second> range = myMap.equal_range("test");
for (auto it = range.first; it != range.second; ++it)
std::cout<<"value for "<<it->first<<"can be"<<it->second<<std::endl;
}
std :: multimap برابر است با std::map اما کلیدهای شما دیگر منحصر به فرد نیستند. بنابراین می توانید به جای اینکه یک مورد منحصر به فرد را پیدا کنید ، طیف وسیعی از موارد را پیدا کنید.