原创 定製new和delete(Cpp Operators of new and delete)

Cpp Operators of new and delete 1. 動態內存分配與釋放(new and delete) 一般說來,一個對象的生命期是由它被創建時所處的區域決定的。例如,在一對{}類定義的一個對象,在離開這個由{}所界定的

原创 Notepad++源碼學習心得(不斷更新中。。。)

1、 功能點:    獲取父窗口的背景色 相關函數:    static COLORREF getParentDlgBkColor(HWND hWnd)基本思想: 給父窗口發送一條WM_ERASEBKGND消息,參數是一個與父窗口大小相同

原创 橋接模式案例

橋接模式的定義:將抽象部分與它的實現部分分離,是他們都可以獨立地變化。 這樣的定義,對於初學者的我,簡直就是一頭霧水。什麼叫做抽象與實現分離? 其實上網查閱相關資料,再加上自己工程實踐,才慢慢明白這句話的意思。 所謂的抽象就是某個類暴露給

原创 一種基於郵件協議的聊天工具

在學習編寫局域網即時聊天工具時,發現這種軟件只能是在同一個局域網內傳遞消息。 隨着網絡知識的學習,發現郵件的SMTP和POP3協議支持郵件的發送,而且同樣是tcp/ip通信, 而且現在很多免費的郵箱都支持客戶端存取郵件,這樣就聯想到將聊天

原创 獲取Android開機啓動項列表

最近學習Android,想要寫一個手機信息助手,想獲取開機啓動項,但網上一直沒有搜到明確的方法。 蒐集了很多文章,發現其實還是可以獲取開機啓動項的。好了,廢話不說了,先貼出代碼如下,僅供參考:   static final String

原创 總結的編碼規範

1、宏定義格式:每個單詞用下劃線隔開。示例: #define           XXX_YYY            20 #define、XXX_YYY、20各用兩個tab隔開 2、一律不得出現常量,對於出現的常量(指數字和字符串),

原创 用BitBlt製作透明位圖(1)

  http://express.ruanko.com/ruanko-express_17/webpage/tech3.html這裏寫的真不錯,要好好看幾遍,對DC認識的不清,對BitBlt認識不清的人可以收穫不少。特別是結合光柵操作碼看

原创 總結的編碼規範

1、宏定義格式:每個單詞用下劃線隔開。示例: #define           XXX_YYY            20 #define、XXX_YYY、20各用兩個tab隔開 2、一律不得出現常量,對於出現的常量(指數字和字符串),

原创 模板函數實現單例模型

最近在寫一個播放器軟件,裏面的配置類,我考慮了一下準備用單例模型而且是線程安全的。 不過考慮到代碼的重用性,準備把單例模型的實現部分抽象出來,用一個模板函數來實現 實現代碼如下:   template<typename Singleton

原创 單實例程序

http://www.codeproject.com/Tips/151060/How-to-avoid-multiple-instances-of-your-Windows-ap.aspx#alternate2  

原创 【項目管理】創建SVN容器

用 TortoiseSVN 進行版本管理時可以很方便的創建容器( repository )。 甚至在一個人開發的情況下 也可以在本地創建一個容器 , 在工作的時候將項目checkout 出來,修改之後再 commit 。 這樣既可以對 每

原创 15個編程好習慣(轉)

【轉載的文章加了一點自己的註釋】 http://www.cnbeta.com/articles/138055.htm 編者按:這是國外程序員Al katib總結的一些編程習慣。1. 動手編碼之前,你需要對要編碼實現的解決方案有一個正式的或

原创 利用內存映射處理文件

最近閒來無聊,想寫一個簡單的文件操作的類。但是由於經驗尚淺,對於類的設計總是把握的不是太好。 C++畢竟是面向對象,而且自己又學過設計模式(個人覺得這個非常有用),當然也就希望自己設計的類有對象的意味了。 學習的最好方法就是模仿,在我印象

原创 判斷類指針爲空的另類做法

class Object {public:         void operation(); protected: private:}; 其實針對上面一個類,相信在很多時候我們需要其對象的一個指,例如下

原创 GDI透明繪圖

這幾天閒來無事想寫一個播放器的界面,但需要GDI透明繪圖的知識,找了一些資料,但理解的不是很清楚。 BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, hMaskDC, 0, 0, SRCAND