原创 內存池詳解(3)

參考:http://hi.baidu.com/anglecloudy/blog/item/abfd611e3d18ca184034172d.html  boost庫裏面已經實現了內存池分配器,一不小心又火星了......   參考:htt

原创 比較各種軟件開發和複用技術

類庫、框架、模式,以及模型集成式計算是其它一些正在被應用於複用軟件和提高生產率的技術。本節比較框架和其它的一些技術,說明它們的相似性和差異,並且顯式可怎樣結合這些技術來增強網路化應用的系統化複用。   1,框架和類庫 框架和類庫是相互補充

原创 初涉優化

談到優化的問題,首先要明白C++的特性帶來多大的性能開銷、生成程序的瓶頸在哪個部分,然後採取針對性的措施。有時,在程序還沒有得到優化、真正地滿足需要之前,我們還不能鬆一口氣,對自己說“Code Complete!” 分別簡單地回顧一下:

原创 內存池詳解(1)

爲何要使用內存池     利用默認的內存管理函數,在堆上分配和釋放內存會有一些額外的開銷。     系統在接收到分配一定大小內存的請求時,首先查找內部維護的內存空閒塊表,並且需要根據一定的算法找到合適大小的空閒內存塊。其間,還涉及到空

原创 《分形算法與程序設計》目錄

第1章 分形簡介 11.1 分形概念的提出與分形理論的建立 11.2 分形的幾何特徵 11.3 分形的測量 41.4 自然界中的分形 71.5 分形是一種方法論 81.6 分形與計算機圖形學 9第2章 分形圖的遞歸算法 102.1 Can

原创 記一次快速排序算法的調試

同學用C++編寫了一個快速排序的程序,實現如下功能: 1,用一個數組包含原始數據;2,用一個數組包含每個原始數據的地址;3,利用快速排序算法,對第二個數組進行排序。 很顯然,排序的交換操作與原始數據的存儲分開進行,是爲了節省時間。 算法寫

原创 返回值和返回引用

不應該返回局部變量的引用 最好不要返回new出來的對象的引用:1,刪除麻煩;2,引用無效了,操作者還得記住。 對於第二條,示例代碼如下。在這段代碼中,由於使用了連加操作,程序生成了幾個臨時變量,而這些臨時變量我們是看不見的,所以我們根本沒

原创 實戰ACE

1,下載哪個版本 我在最開始選擇了最新版本5.6,後來才發現:並不是越新越好。本來我只是對網絡編程進行學習和嘗試,但是ace5.6的庫文件需要vs2005才能夠編譯(.sln文件打開項目)。 所以,我還是選擇了ace5.4版本,可以用vc

原创 寧以non-member、non-friend替換member函數

       有個class表示網頁瀏覽器,現在要寫一個函數用來清除瀏覽器的高速緩存區、URLs、cookies。請問是使用member函數好,還是使用non-member函數好? <?xml:namespace prefix = o n

原创 in文件 X Autoconf X 視角高度

       在研究一個成熟的開源項目的時候,除了源代碼以外,往往會發現一些其它的東西:Docs、配置文件等等,有時讓人“丈二金剛摸不着頭腦”——根本不知道有些文件是幹嘛的。在最開始,我是衝着一個項目的代碼去的,漸漸的,“只見樹木不見森林

原创 代碼實現前的痛苦思考

變異的實現 這個代碼的編寫很簡單,規定變異規模,使用rand,選擇位置即可。 交叉的實現 對於兩串編碼,選擇一個交叉點,然後將尾部部分進行交換即可。注意,在編寫代碼的時候,邊界情況要考慮清楚。 比如,0000 1111與0101 0101

原创 ACE搜索關鍵字

1,ace tests源代碼:在閱讀tests文件夾下的源代碼時,到網上看看有沒有人給出這方面的教程,結論是:沒有。得到提示:既然看源代碼,就從實際的應用程序看起吧——比如apps目錄下的JAWS,一個web服務器,開源代碼呢! 2,ac

原创 new和delete操作符重載

#include <iostream> #include <new> using namespace std; class MemoryPool { }; class MemoryObject { private:     Mem

原创 C++編碼規範

1,類型名的第一個字母大寫,最後以_T結尾 2,變量和函數名首字母小寫,其後每一個單詞的首字母大寫,其它小寫。 3,全大寫的函數名,和小寫的函數名一樣,不過是增加了錯誤處理而已,編譯時用inline實現。 4,指針用p開頭或者用Ptr結尾

原创 C++性能優化實踐(轉載&分析)

From:http://www.cppblog.com/sandy/archive/2006/01/05/2448.html 配置文件讀寫是項目中經常會用到的,如果僅僅是遵從“逐條添加-查找”的方式,當數據量上升的時候[1],很容易導致巨