力為的技術(shù)博客
聯(lián)系
聚合
管理
154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks
公告
@上海浦東
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(58)
給我留言
查看公開留言
查看私人留言
隨筆分類
(154)
2. Graphics(10)
3. VC&MFC&Qt(35)
4. C++ FAQ(35)
5. GP&STL&BOOST(10)
6. COM&ATL&WTL(5)
7. OGRE Analysis(14)
8. ACIS/HOOPS(4)
9.OpenCASCADE(13)
Mac&iOS(5)
Mac&iOS(1)
Tools(22)
積分與排名
積分 - 709356
排名 - 22
最新評(píng)論
1.?re: 2015武漢校園招聘歸來
@eryar
時(shí)間安排的太緊,就沒有驚擾你啦。
--力為
2.?re: 2015武漢校園招聘歸來
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--sunyuanbo
3.?re: 2015武漢校園招聘歸來
謝謝 您的筆記讓我受益匪淺
--仝錫林
4.?re: 2015武漢校園招聘歸來
不知道來武漢了啊!
--eryar
5.?re: 2015武漢校園招聘歸來
@力為
謝謝提醒,還在學(xué)習(xí)中。。。
--編程小學(xué)徒
6.?re: 2015武漢校園招聘歸來
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--編程小學(xué)徒
7.?re: 2015武漢校園招聘歸來[未登錄]
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--chipset
8.?re: 2015武漢校園招聘歸來
@編程小學(xué)徒
考研也不僅僅靠有編程興趣就夠了,還有其他的課程。好好準(zhǔn)備吧,祝考試順利。
--力為
9.?re: 2015武漢校園招聘歸來
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--編程小學(xué)徒
10.?re: 2015武漢校園招聘歸來[未登錄]
為了混口飯吃,大家都不容易啊,原諒刷題的同學(xué)吧。話說學(xué)校里能教啥呀,都靠自己用心,有上進(jìn)心才是最重要的,否則筆試面試再好也是白扯。從面試官的角度看考試沒有錯(cuò),換成我會(huì)找有潛力的或者上進(jìn)心強(qiáng)的。
--chipset
11.?re: 【代碼】使用Teigha讀取DWG
要用vs2010編譯么?
--jj
12.?re: 臨時(shí)對(duì)象引用[未登錄]
最后一個(gè)例子也是零時(shí)變量?
--zhonghuajia
13.?re: 為什么需要給函數(shù)返回類型加const
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--冬瓜
14.?re: 【代碼】使用Teigha讀取DWG
歡迎加入QQ群122751318,討論Teigha
--Teigha開發(fā)
15.?re: CMake + Qt5.1.0
@MIKE
還是不行。
不管是prefix還是library還是include,都嘗試過了,不行,網(wǎng)上的方法都不行……
--Delbert
評(píng)論排行榜
1.?Pro OGRE 3D Programming 電子版(54)
2.?手機(jī)號(hào)碼黑名單(53)
3.?屏幕截圖工具V1[附源碼](22)
4.?波形顯示不是很難(15)
5.?五個(gè)小矮人分桃子-一道小學(xué)生的作業(yè)題目(15)
6.?用CImage加載內(nèi)存里的Image(14)
7.?用istringstream 解決問題一則(14)
8.?OGRE動(dòng)畫練習(xí)(13)
9.?VC+ADO操作數(shù)據(jù)庫注意事項(xiàng)(1)(13)
10.?fstream 和 中文路徑(13)
11.?OGRE粒子系統(tǒng)之在烈火中永生(11)
12.?如何通過FILE*操作內(nèi)存文件?(11)
13.?VC2008 Feature Pack的問題(11)
14.?升級(jí)到 VS2008 SP1 注意問題(11)
15.?失足于shared_ptr(11)
遞歸引起的性能問題
程序模型
有類似這樣的一個(gè)數(shù)據(jù)結(jié)構(gòu):
class
MyData
{
public
:
MyData
*
Clone()
const
;
private
:
Array
<
MyData
>
m_arrData;
}
現(xiàn)在需要實(shí)現(xiàn)MyData::Clone方法,很自然的會(huì)使用這樣的方法實(shí)現(xiàn):
MyData
*
MyData::Clone()
const
{
MyData
*
pData
=
new
MyData;
const
int
nSize
=
m_arrData.size();
pData
->
m_arrData.resize(nSize);
for
(
int
ii
=
0
;ii
<
nSize;
++
ii)
pData[ii]
=
m_arrData[ii]
->
Clone();
return
pData;
}
姑且稱m_arrData中的數(shù)據(jù)為MyData對(duì)象的子節(jié)點(diǎn)。假如MyData的某個(gè)對(duì)象有N層孫子節(jié)點(diǎn)。當(dāng)調(diào)用Clone的時(shí)候,非常有可能發(fā)生堆棧溢出的情況。
在實(shí)際的應(yīng)用的時(shí)候發(fā)現(xiàn),在堆棧溢出的時(shí)候不會(huì)拋出異常,會(huì)有假死的癥狀,CPU會(huì)用滿,出現(xiàn)程序好像還在艱難的思考的假象。
解決辦法: 用循環(huán)代替遞歸調(diào)用。
療效:程序變快了
注意:遞歸可以方便直觀的實(shí)現(xiàn)算法,但有時(shí)候卻會(huì)大大的影響程序性能,甚至引發(fā)程序非正常死亡。
posted on 2010-03-24 14:24
力為
閱讀(2793)
評(píng)論(3)
編輯
收藏
引用
所屬分類:
4. C++ FAQ
評(píng)論
#
re: 遞歸引起的性能問題 2010-03-24 23:48
Quon
尾遞歸是解決優(yōu)雅代碼和性能的良方
回復(fù)
更多評(píng)論
#
re: 遞歸引起的性能問題 2010-03-25 17:09
力為
關(guān)于尾遞歸:
尾遞歸與Continuation
http://blog.csdn.net/fisher_jiang/archive/2009/04/29/4133533.aspx
回復(fù)
更多評(píng)論
#
re: 遞歸引起的性能問題
2010-03-26 16:58
sigepluto
正解,用尾遞歸就好了。
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
VS2010 Win32編譯失敗一例
std::vector使用一例
istreambuf_iterator 使用
臨時(shí)對(duì)象引用
布爾變量初始值(2)
為什么需要給函數(shù)返回類型加const
被遺忘的argv[0]
當(dāng)嵌套類遇見API
用lambda對(duì)std::list排序
構(gòu)造UTF8的std::string
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 力為
久久久SS麻豆欧美国产日韩
|
久久久受www免费人成
|
亚洲AV无码久久
|
久久亚洲精品中文字幕三区
|
99久久国产热无码精品免费久久久久
|
97精品伊人久久久大香线蕉
|
人妻中文久久久久
|
久久久久久夜精品精品免费啦
|
久久久九九有精品国产
|
中文成人无码精品久久久不卡
|
99久久精品国产一区二区
|
国产亚洲美女精品久久久久狼
|
久久国产精品免费
|
久久精品aⅴ无码中文字字幕重口
|
国产精品内射久久久久欢欢
|
久久婷婷成人综合色综合
|
性欧美大战久久久久久久
|
日韩十八禁一区二区久久
|
久久婷婷成人综合色综合
|
久久乐国产精品亚洲综合
|
国产成人精品久久二区二区
|
热久久视久久精品18
|
国产亚洲成人久久
|
久久久青草青青亚洲国产免观
|
国内精品人妻无码久久久影院导航
|
久久www免费人成看国产片
|
国产精品久久一区二区三区
|
久久综合久久美利坚合众国
|
色综合久久中文字幕综合网
|
国内精品久久久久久久涩爱
|
99精品久久精品一区二区
|
久久亚洲AV成人无码国产
|
亚洲国产精品无码久久一区二区
|
国产99久久精品一区二区
|
日产精品久久久久久久性色
|
伊人久久大香线蕉AV色婷婷色
|
伊人久久大香线蕉成人
|
一级A毛片免费观看久久精品
|
一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区
|
亚洲国产成人久久综合碰
|
久久久久久A亚洲欧洲AV冫
|