原创 C++之我見--類靜態成員變量

C++ 類靜態成員變量 在C++中,類的靜態成員變量是屬於整個類的而非某個特定對象。靜態成員變量只存儲一份供所有對象共用,即在所有對象中都可以共享它。使用靜態成員變量實現多個對象之間的數據共享不會破壞隱藏的原則,保證了安全性還可以節省內存

原创 COM組件粗談-COM基礎

COM組件基礎 ##序言 首先了解下組件的概念: 組件的定義:含有可獨立性,可通用性,可組合性,可替換性的事物,我們把它稱作組件。 ##COM COM是微軟組件對象模型的簡稱(是Component Object Model (

原创 COM組件粗談-STL容器與COM智能指針

引言 工作項目中遇到過一個問題,代碼中某個函數導致內存泄漏,而且泄漏隨此函數調用次數變化而變,當調用次數較少時,泄漏並不明顯,而當該函數調用次數超過千次後,內存泄漏就十分明顯。 具體代碼如下 HRESULT GetWhatYouW

原创 日落MFC-單文檔GDI動態繪圖

目錄 GDI基礎 MFC單文檔繪圖 這裏主要記博主自己練手的一個小例子。 項目效果如圖所示: 主要功能包括:畫直線、畫多段線、畫橢圓、畫矩形;鼠標單擊Hittest點選所畫圖形並能進行平移、改色、計算面積/長度操作。 GDI基礎  

原创 日落MFC-工具欄CToolBar自定義圖標

       效果圖鎮樓        接觸過MFC的小夥伴都知道,MFC單文檔、多文檔應用程序中會經常用到工具欄僅包含有限個基礎命令按鈕,如新建、打開、保存等,而且圖標的都是預設好的,如下圖所示。 如果需要新加按鈕,首先在工程資源視

原创 淺析Socket--網絡編程基礎

網絡編程         網絡編程,指的是直接或者間接通過網絡協議與其他計算機進行通訊。 網絡編程,主要點在二。其一,怎麼精準定位位於網絡上的一臺或者多臺主機;其二,找到主機後又改如何進行可靠高效的數據傳輸。針對上述2點,引出TCP/IP

原创 深入Windows開發--PC硬件信息獲取

引言  因爲項目需要對單機版進行加密,進而需要要獲取客戶機一些硬件信息。現在把當時用到的一些方法列出來。 這裏主要獲取的是都是比較唯一的信息,不會隨着系統重裝而變化的,比如CPU ID、主板SN碼、MAC地址(雖然MAC地址並不是絕對唯一

原创 深入Windows開發--Preview and Thumbnail

引子 首先,什麼是Preview和Thumbnail? 簡單理解,Windows下Preview就是預覽,Thumbnail就是縮略圖。 一圖以蔽之。 其次,如何開發自己格式文件的Preview、Thumbnail? 使用Windows

原创 C++之我見--預處理與#include

首先記住一個點: 預處理器在.cpp中遇到#include<> 或者 #include "  ",  都會將#include<> 或者 #include "  "指令替換爲他們包含的頭文件中的內容,形成 .i文件。 舉個栗子, 如下代碼

原创 C++之我見--delete指針

開篇之前溫故一下關於指針的幾個小點: 指針本身也是變量,特殊之處在於它是指向一個內存地址的變量 既然是變量,那麼它在內存中也有地址 指針p本身地址:&p 指針p指向地址:p 指針p指向地址內值:*p delete指針 指針delete掉之

原创 C++之我見--多態(虛函數和純虛函數)

 目錄 多態性 虛函數原理 有關基類是否必須要實現虛函數、子類是否必須實現基類純虛函數 重載與多態無關   進入正題之前先溫故幾個點: 多態,字面意思理解就是多種形態,對於C++而言則是調用成員函數時,會根據調用函數的對象的類型來執行不同

原创 類靜態成員變量

C++ 類靜態成員變量 在C++中,類的靜態成員變量是屬於整個類的而非某個特定對象。靜態成員變量只存儲一份供所有對象共用,即在所有對象中都可以共享它。使用靜態成員變量實現多個對象之間的數據共享不會破壞隱藏的原則,保證了安全性還可以節省內存

原创 Web Service與gSoap

Web Service與gSoap 什麼是Web Service? 對於這個問題,估計題主不能給出大家滿意的答案,畢竟不是專門搞網絡開發的,只是現有工作需要在桌面客戶端和服務器端進行數據交互通訊,纔用到Web Service。下面

原创 COM組件粗談-引用計數

引用計數 引子 當我們new了一個組件pA,在最終不用這個組件的時候應該把它銷燬以釋放內存資源。但是,什麼時候纔是“不用這個組件的時候”呢?或許你會說“在應用程序將要結束時”,在應用程序結束前delete pA,即可釋放資源。 這個

原创 基於openCV3的顏色通道分離及多通道圖像混合

注:文檔摘至《OpenCV3編程入門》毛星雲版 <1>通道分離: split()函數 split函數用於將一個多通道數組分離成幾個單通道數組。這裏的array 按語境翻譯爲數組或者陣列。split函數的C++版本有兩個原型,