社区
C++ 语言
帖子详情
关于map容器里的count操作
LAST_MAN
2011-11-15 08:36:31
map<string,int>word_count;
string word;
while(cin>>word)
++word_count[word];
以上这段代码是用来记录每个单词出现的次数,比如我输入了2次hello ,那么hello的值应该就是2.
但是书上又说如果这么写:m.count(k)是返回m中k出现的次数,k的值只能为1或0.
但是我hello的值明明是2,但是为什么书上又说只能出现1或0??
是不是我某些地方理解错了?
...全文
555
8
打赏
收藏
关于map容器里的count操作
mapword_count; string word; while(cin>>word) ++word_count[word]; 以上这段代码是用来记录每个单词出现的次数,比如我输入了2次hello ,那么hello的值应该就是2. 但是书上又说如果这么写:m.count(k)是返回m中k出现的次数,k的值只能为1或0. 但是我hello的值明明是2,但是为什么书上又说只能出现1或0?? 是不是我某些地方理解错了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a707000646
2011-11-15
打赏
举报
回复
书本里面的意思是用count返回是否存在该值
这样是为了避免 如果说你想查test这个单词出现的次数
如果你直接判断word_count["test"]这样会直接在map中插入了test
但是实际上呢
我们如果没有输入test就不插入map,所以才用count,至于count
楼上的回答够详细了
这里是避免当"test"不存在时,判断的时候插入map
dic_008
2011-11-15
打赏
举报
回复
m.count(k)是返回m中k出现的次数,没错,但是要是用它来检测某键是否存在,若不存在返回0,存在那就是返回非0,他只不过把非0用1来代替证明这个键存在。 如果前面没有++word_count[word];之类的操作那么只会返回1。
dongfangmuge
2011-11-15
打赏
举报
回复
[Quote=引用 3 楼 last_man 的回复:]
引用 1 楼 taodm 的回复:
哪本书?先找找勘误表。
C++PRIMER
书上说,对于MAP对象,count成员的返回值只能是0或1.map容器只允许一个键对应一个实例
[/Quote]
count是计算该元素出现的次数,当然只能是0或者1了,因为map不允许存在同样key值的元素,如果需要某单词出现的次数,可以直接输出word_count[word]就行了;word_count[word]是value,而不是count函数的返回值。
LAST_MAN
2011-11-15
打赏
举报
回复
[Quote=引用 4 楼 last_man 的回复:]
引用 2 楼 dizuo 的回复:
只能是0或者1的是布尔变量。
word_count[word]非零可以当成是1,布尔中的真。
那如果我需要输出某单词出现的次数,那应该怎么办?
[/Quote]
用word_count->second可以输出出现的次数,但是用count就不能输出了?那erase函数返回的也是0或1,我想知道删除了元素个数,应该怎么办?
LAST_MAN
2011-11-15
打赏
举报
回复
[Quote=引用 2 楼 dizuo 的回复:]
只能是0或者1的是布尔变量。
word_count[word]非零可以当成是1,布尔中的真。
[/Quote]
那如果我需要输出某单词出现的次数,那应该怎么办?
LAST_MAN
2011-11-15
打赏
举报
回复
[Quote=引用 1 楼 taodm 的回复:]
哪本书?先找找勘误表。
[/Quote]
C++PRIMER
书上说,对于MAP对象,count成员的返回值只能是0或1.map容器只允许一个键对应一个实例
ryfdizuo
2011-11-15
打赏
举报
回复
只能是0或者1的是布尔变量。
word_count[word]非零可以当成是1,布尔中的真。
taodm
2011-11-15
打赏
举报
回复
哪本书?先找找勘误表。
C++
map
容器
用法
本文深入探讨了C++中
map
容器
的用法,包括其基本概念、头文件引入、声明与初始化、基本
操作
如插入、查找和删除元素,以及如何通过下标和迭代器访问元素。同时,文章还对比了
map
容器
与哈希表的相似之处,详细介绍了
map
的成员函数,如
count
、find和erase,以及insert
操作
的不同形式。
C++
容器
之Set与
Map
本文以生动的例子解释了
容器
的概念,区分了顺序
容器
与关联
容器
,并详细介绍了Set与
Map
的使用场景、特性及
操作
方法,包括insert、find和
count
等函数。
Map
容器
中几种常用的基本
操作
本文深入探讨了在C++中使用自定义数据类型作为
Map
容器
的键,并介绍了如何进行自定义排序,详解了
Map
容器
的基本
操作
,包括初始化、元素插入、删除、查找等关键功能。
c语言中
count
函数,C ++中的
map
count
()函数
本文详细介绍了C++ Standard Template Library (STL) 中
map
容器
的两个关键函数:
map
::empty() 和
map
::
count
()。
map
是一种关联
容器
,用于按特定顺序存储键值对。
map
::empty() 用于检查
容器
是否为空,而
map
::
count
() 则计算具有特定键的元素数量,返回1表示存在,0表示不存在。通过示例代码展示了如何使用这两个函数来检查和
操作
map
容器
中的元素。
C++
Map
find函数和
count
函数
本文详细解析了C++ STL库中
count
与find函数的使用误区及正确用法。作者曾误认为
count
函数能返回
map
中key的频次,实则它仅返回元素在
容器
中的出现次数,对于
map
,由于key的唯一性,其返回值只能是1或0。find函数则返回查找元素的位置,若不存在则返回
map
.end()。通过实例展示了如何使用find函数获取
map
中key对应的value。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章