0
如何聲明指向地圖的指針,如何將元素插入到此地圖中以及如何遍歷此地圖的元素?想要聲明指向地圖的指針
如何聲明指向地圖的指針,如何將元素插入到此地圖中以及如何遍歷此地圖的元素?想要聲明指向地圖的指針
聲明一個指向map的指針是一個非常可疑的願望。無論如何,它會像這樣
#include <map>
typedef std::map<KeyType, ValueType> myMap;
myMap* p = new myMap();
p->insert(std::make_pair(key1, value1));
...
p->insert(std::make_pair(keyn, valuen));
//to iterate
for(myMap::iterator it = p->begin(); it!=p->end(); ++it)
{
...
}
來完成同樣,一個指向地圖是一個可怕的選擇。在任何情況下,谷歌爲std ::地圖
#include <map>
#include <iostream>
int main() {
typedef std::map<int, int> IntMap;
IntMap map;
IntMap* pmap = ↦
(*pmap)[123] = 456;
// or
pmap->insert(std::make_pair(777, 888));
for (IntMap::iterator i=pmap->begin(); i!=pmap->end(); ++i) {
std::cout << i->first << "=" << i->second << std::endl;
}
return 0;
}
有什麼如此可怕的有一個指向地圖的指針? – 2011-03-01 12:36:43
@Fecal:我從來沒有遇到過需要這種情況... – 2011-03-01 12:38:30
指向地圖的指針是完全正常的。沒有什麼可疑的。 – TonyK 2011-03-01 12:43:55