《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; 



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