注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

勇敢的劳尤条

 
 
 

日志

 
 

stringstream clear()的疑问  

2013-09-05 08:43:13|  分类: 基础代码(一天一 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
很奇怪的一件事哦,我运行下面这条代码,看看程序使用内存情况,结果发现内存使用是在不断的增加。

#include <cstdlib>
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc, char * argv[])
{
stringstream ss;
string str;
while(true)
{
ss.clear();//它并不清空任何内容,它只是重置了流的状态标志而已!
//ss.str("");
ss<<"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
ss>>str;
cout<<str<<endl;
// 去掉下面两行注释,看看每次循环,你的内存消耗增加了多少!
/* cout<<"Size of stream = "<<ss.str().length()<<endl;
system("PAUSE");*/
}
return 0;
}


但是更奇怪的在后面。现在循环只有三行,但是内存的使用却不再增加了。

#include <cstdlib>
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc, char * argv[])
{
stringstream ss;
string str;
while(true)
{
//ss.clear();//它并不清空任何内容,它只是重置了流的状态标志而已!
//ss.str("");
ss<<"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
ss>>str;
cout<<str<<endl;
// 去掉下面两行注释,看看每次循环,你的内存消耗增加了多少!
/* cout<<"Size of stream = "<<ss.str().length()<<endl;
system("PAUSE");*/
}
return 0;
}


这时,我们必须清楚的知道clear到底干了什么,还有ss<<的时候,跟标志位又有很大的关系。
所以咯,想要重复使用ss,建议clear之后,再清空咯。
  评论这张
 
阅读(287)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#-- 热度14"lidlog.163.t pblock icn0 ic ="thide fc03"> class="ilf a as x="tha tat"> s i ToOp
dloref=div> ,下襆ext⑹停="ztag blst"> /n0-620">&nb/ <的永久链接,作为 <的蝍ct标识loref=div> t;\s⑹停";> <惶煲滑以英文逗号分隔ref纾"惶煲1,惶煲2"loref=div> Sss=Ps="ix⑹停="ztag blst"> /n0-620">&nb/";> //blPAU饕车刂 Params⑹停&num=5& e=3&pfc03 m"> ";> num为默认显始鋈1084 <数目, e为默认鋈1允寄J絞et为 字,2为图片,3为自动)p> dlo
n class="ptcpg c.sr.div> /">/r
W c.sr.

>&nb14"> r cr hdth= target=" id="">&nb"v id=""argr>

>&nbgr> g rg hdth= target=" id="">&nbgr> b 腔e="pad"v id=""argr"v id=""gr>v id="">&ih> 3>07 "ci/dist"-sm们还h> 3>07 wkg h ogDcr 3>07 h腔e="pad"v id=筯> 3>07 r h腔e="pad"v id=筯> 3>07 c h腔e="pad"v id=箆 id=>v id=""筯> 3>07 "ci/dist"-foiv clas筯> 3>07 wkg h页絚mih2>log.16筯> 3>07 k"sstregr>a r ="no{}, phone'} a a8 block icn0 ic豅OFTER nfo"> block icn0 ic textac/th8)| //bl风格nfo"> block icn0 ic om=='wap'} ">ttp://blnfo"> block icn0 ic="display:none" okeass="p209_0istget="_blan APPnfo">  rss/error="this="thide"> n>d="$此//blnfo"g src="${argr>v id=""argr>st} v id=>v id=""argr>!--[&nec=c IE 6]div id= !--[&nec=c IE 6]div id= h> 3>07 "ciweixi> -"> - iweixi>div id="">&ih> 3>07 "citplst"-te zLinkBotv cla - ia npli cart" claslog.163.com">"ssttail.nextBrowdivlis000divlis3 no="JlM> t"-JlMTa pegr>a r ="no{}, phone'} p="h s="ne="ztag helps"> special/00og.5FT/ v" src wl argr>h> 3>07 grpx.bloggx.th> >log.16argr

3 no="&&ne wl {/if}t"> block #仔挛
3 no="="thv class=nx.to" d"${x.referHrue" hriff {/if} .th> >lo
>log.w ';log.==visitormstp:/'="ztag apisp; mst/rue';log.==visitorruep:/'="ztag apisp; n0-620">&nb/rue';log.==visitorvcdp:/'="ztag apisp; / igha/imgx?p/dintId=tp://bloge}"';log.==visitormrtp:/'="ztag b> mon/av3.cd =';log.==visitor="j2:/'="ztag ossp; mon/av3.cd =';log.==visitorp mon/ rait/fDcr&quoview/';log.==visitor=60s:/'="ztag b> mon/fDcr60nloa';log.==visitor=140:/'="ztag b> mon/fDcr140nloa';log.==visitor= = " src.f140;log.==visitoradf140:/'="ztag b> mon/admis="Dcr140nloa';log.==visitoreptp:/'="ztag b> mon/ nptynloa';log.==visitorgu id_profrge_add:/'="ztag b> mon/gu id_profrge_add.gif';log.==visitorp to_da n注释'="ztag 易蕋o.da n譻"> n.127.net/,'="ztag 易蕋o."> 易蕋o/ /c-0ssdoblog. t=us=0ide5n.127.net/ n.127.net/ <:'n0-620">&nbllog.1ar,a tat"><:'n0-620">&nbllog.1ar,this.src=locati:1390198896329log.1ar,bscr  /llog.1ar,g pr '他llog.1ar,ebloi:'n0-620">&nb@"> llog.1ar,易蕋o"> t"><:'n0-620">&nbllog.1ar,易蕋o"> H t"><:'n0-620">&nbllog.1ar,TOKEN_HTMLMODULEfallog.1ar,isMtp:ielseBtexodnighlog.rgr,isWiv>else:headlog.1ar,sRank log.};loiv dloargr
n class="ptcpb1>
n class="ptcpb1> rigs.jsa r <(o)[0];a.async=1;a.idefg;m.p/dintN e.inlsetBconre(a,m)log.})(w low lomih >lo