STL程序段求解释

STL程序段求解释,第1张

while(begin != end )

words[*begin++]++

这个是利利用了流迭代器来从标准输入中读取字符串,在你代码里是是string类型的所以读取string,也就是空格字符隔开的字符串

words是个map,其中的*begin++就是读取并返回输入,如果这个字符串在容器里没有的话,words[*begin++]把这个字符串存在容器里,外面的++把它对应的计数增加为1,如果这个单词已经存在的话就只接执行后面的++了,增加它的计数

后面就输出这段话中出现的单词和它们出现的次数

L #number

ITD //16位整型转32位double并存放在累加器1

L L#-1 //把-1送入累加器1,#number送入累加器2

+D //累加器1=累加器1+累加器2

L L#32

*D //累加器1=(#number+(-1))*32

TAR2//累加器2=累加器1,把地址寄存器AR2送入累加器1,

+D //累加器1=AR2+(#number+(-1))*32

L #DeltaCnt4//

TAK //累加器1=AR2+(#number+(-1))*32 累加器2=#DeltaCnt4LAR1//ar1= AR2+(#number+(-1))*32

TAK

T DID [AR1,P#1288.0] //[AR1,P#1288.0]表示指针地址,把累加器1(#DeltaCnt4)送入背景数据块ar1+偏移地址P#1288.0中,p#1288.0是32位指针。个人看法,以上。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7869394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存