《C++ Primer》讀書筆記(6.12)未完

map 對象 

鍵和值的類型 例如        

         #include <map> 
         map<string, int> *word_count; 

    定義了map 對象word_count       它由string 作爲索引 並擁有一個相關的int 值。


下標操作符給出了獲取一個值的最簡單方法 例如 

         // map<string,int> word_count; 
         int count = word_count[ "wrinkles" ]; 
    但是 只有當map 中存在這樣一個鍵的實例時 該代碼纔會表現正常 如果不存在這樣的實例 使用下標操作符會引起插入一個實例 在本例中 鍵/值對 
         string( "wrinkles" ), 0 
    被插入到word_count 中 count 被初始化爲0 


    有兩個map 操作能夠發現一個鍵元素是否存在 而且在鍵元素不存在時也不會引起插入實例 

    1  Count(keyValue) count()返回map 中keyValue 出現的次數 當然 對於map 而言 返回值只能是0 或1            如果返回值非0        我們就可以安全地使用下標操作符 例如 
         int count = 0; 
         if ( word_count.count( "wrinkles" )) 
              count = word_count[ "wrinkles" ]; 

    2  Find(keyValue) 如果實例存在 則find()返回指向該實例的iterator               如果不存在則返回等於end()的iterator      例如 
         int count = 0; 
        map<string,int>::iterator it = word_count.find( "wrinkles" ); 

         if ( it != word_count.end() ) 
              count = (*it).second; 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章