您的位置:首页 > 编程语言 > C语言/C++

《C++ Primer》读书笔记(6.12)未完

2013-06-03 18:38 197 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: