原创 高質量C++/C編程指南---常量

常量是一種標識符,它的值在運行期間恆定不變。C語言用 #define來定義常量(稱爲宏常量)。C++ 語言除了 #define外還可以用const來定義常量(稱爲const常量)。 1 爲什麼需要常量 如果不使用常量,直接在程序

原创 c++陷阱之臨時變量

1.向上強制類型轉化產生臨時變量 #include <stdio.h> class Base { public:     int m_b;     Base(){m_b = 1;}     void Say(){       m_

原创 菜鳥自學Linux之---掌握gcc和vi基本用法

編寫程序可以用vi編輯器 vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文本編輯器,這裏只是簡單地介紹一下它的用法和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您

原创 讀《大話設計模式》---模板方法模式(TemplateMethond)

模板方法模式:         定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。   模板方法的一般實現: //AbstractClass是一個抽象類,其實也

原创 關於UDP通信中的10045錯誤

 在做UDP通信的過程中,服務器端綁定IP和PORT:  m_stLocalAddr.sin_family =      AF_INET; m_stLocalAddr.sin_addr.s_addr = htonl(INADDR_ANY)

原创 nafxcwd.lib(afxmem.obj) : error LNK2005

近日在VC6.0寫一個程序,編譯時出如下錯誤 Linking... nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@

原创 菜鳥自學Linux之---RedHat Linux 9鍵盤的快捷操作

這裏列舉了一些你可以用來快速執行常見任務的鍵盤快捷操作。這些操作不僅限於所列出的內容,要了解更多命令行和鍵盤的的快捷操作,請訪問:    http://sunsite.dk/linux-newbie/lna

原创 用VC寫DLL中"error LNK2005: _DllMain@12 already defined"的應對

用Visual C++編寫DLL,如果在new project時選了MFC DLL,而後又想寫成Regular DLL,即擁有自己的DllMain()入口函數,則在build時會遇到類似如下的link錯誤:  error LNK2005:

原创 讀《大話設計模式》---生成器模式(Builder)

生成器模式: 將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。   結構圖   Builder是爲創建一個Product對象的各個部件指定的抽象接口。ConcreteBuilder是具體生成者,實現Builder

原创 VC下生成彙編代碼的方法:

生成彙編代碼的方法: debug方式下: vc8 下面是: Project- > ...Properties - > C/C++ - > OutputFiles:選擇右邊的Assembler Output vc6 下面是: Project

原创 讀《大話設計模式》---迪米特法則

迪米特法則也叫最少知識原則 如果兩個類不必彼此直接通信,那麼這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。 迪米特法則首先強調的前題是在類的結構設計上,每一個類都應當儘量降

原创 爲含指針變量的類聲明一個拷貝構造函數和一個賦值操作符

C++編譯器會爲每個類自動生成一個默認的構造函數、析構函數、賦值函數、拷貝構造函數,這當然是在你沒有爲你的類聲明這些函數的時候。這些默認的功能函數在爲你提供方便的時候,也會給你帶來麻煩。 例如: class string {public:

原创 關於TCP和和UDP包的大小

UDP一次發送數據包的大小,TCP一次發送數據包的大小。 MTU最大傳輸單元,這個最大傳輸單元實際上和鏈路層協議有着密切的關係,EthernetII幀的結構DMAC+SMAC+Type+Data+CRC由於以太網傳輸電氣方面的限制,每個以

原创 構造函數初始化表的使用規則

(1)如果類存在繼承關係,派生類必須在其初始化表裏調用基類的構造函數。class A{public:    A(int x);}; class B : public A{public:    B(int x, int y);}; //如果

原创 菜鳥自學Linux之---ADSL 設置全攻略

一、安裝rp-pppoe到 http://www.roaringpenguin.com/pppoe/#download下載最新版rp-pppoe 的源代碼。tar xzvf rp-pppoe-3.5.tar.gz然後進入解壓生成的目錄:c