2011-03-01 36 views

回答

5

聲明一個指向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 ::地圖

+0

有什麼如此可怕的有一個指向地圖的指針? – 2011-03-01 12:36:43

+0

@Fecal:我從來沒有遇到過需要這種情況... – 2011-03-01 12:38:30

+0

指向地圖的指針是完全正常的。沒有什麼可疑的。 – TonyK 2011-03-01 12:43:55

0
#include <map> 
#include <iostream> 

int main() { 
    typedef std::map<int, int> IntMap; 

    IntMap map; 
    IntMap* pmap = &map; 

    (*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; 
}