Code:
std::map<int, String^> map1;
map1.insert(std::pair<int, String^>(1, "DevDiver"));
map1.insert(std::pair<int, String^>(2, "DEVDIV"));
IMap<int, String^>^ map2 = ref new Map<int, String^>(map1);
 
std::map<int,String^> map3;
IIterator<IKeyValuePair<int,String^>^>^ iter = map2->First();
do{
        map3.insert(std::pair<int,String^>(iter->Current->Key,iter->Current->Value));
}while (iter->MoveNext());