原创 Linux程序設計:創建自己的靜態庫

Try It Out   Static Libraries:         在這個例子中,你要創建出屬於你自己的小型庫,它包括兩個 function,然後運用它們其中之一到一個例程中。兩個 function 叫做 fred 和 bil

原创 C++編程思想(卷二):運行時類型識別(RTTI)

運行時類型轉換: 藉助dynamic_cast操作符,C++提供一個可檢查多派生類型轉換的能力。 例: #ifndef SECURITY_H #define SECURITY_H #include <iostream> class Se

原创 C++編程思想(卷二):設計模式:職責鏈模式

職責鏈模式-嘗試採用一系列策略模式:     在職責鏈中,一個函數調用自身,調用函數的一個不同實現,如此反覆直至達到某個終止條件。這個終止條件或者是已到達策略鏈的底部或者是成功找到一個策略。 本質是嘗試多個解決方法直到找到一個起作用的方

原创 C++編程思想(卷二):設計模式:模板方法模式

模板方法模式: 一個重要特徵是它的定義在基類中並且不能改動--模板方法模式就是“堅持相同的代碼”,而被覆蓋的函數是“變化的代碼”。 例:#include <iostream> using namespace std; class App

原创 C++編程思想(卷二):設計模式:策略模式

策略模式: 和模板方法模式相比,策略模式的一個明顯的好處是在程序運行時,可以插入變化的代碼。 例:#include <iostream> using namespace std; class NameStrategy { public:

原创 C++編程思想(卷二):設計模式:單件

單件(Singleton): 例:允許一個類有且僅有一個實例的方法 #include <iostream> using namespace std; class Singleton { static Singleton s; i

原创 C++ Templates:metaprogram

使用metaprogramming的目的是爲了實現更多的更能,並且使花費的開銷更小,其中開銷是以:代碼大小、維護的開銷等來衡量的。另一方面,metaprogramming的最大特點在於:某些用戶自定義的計算可以在程序翻譯期進行。枚舉值和靜

原创 C++編程思想(卷二):設計模式(序)

模型分類: 創建型:單件模式、工廠模式和構建器模式 結構型:代理模式和適配器模式 行爲型:命令模式、模板方法模式、狀態模式、策略模式、職責鏈模式、觀察者模式、多派遣模式和訪問者模式 點贊 收藏 分享

原创 C++ Templates:模板與繼承

空基類優化: C++類常常爲“空”,這就意味着運行期其內部表示不耗費任何內存。 即使是空類,其大小也不會爲0。 佈局原則: C++標準規定,當空類作爲基類時,只要不會與同一類型的另一個對象或子對象分配在同一地址,就不需爲其分配任何空間。

原创 C++編程思想(卷二):設計模式:命令模式

命令模式: 特點是消除被調用函數的選擇與那個函數被調用的位置之間的聯繫。 命令模式就是一個函數對象:一個作爲對象的函數。通過將函數封裝爲對象,就能夠以參數的形式將其傳遞給其他函數或者對象。 例:#include <iostream> #

原创 關於class auto_ptr

內容摘自《C++標準程序庫》: class auto_ptr: 定義:它是“它所指向對象”的擁有者 當auto_ptr被摧毀時,該對象也將遭到摧毀;而當auto_ptr將擁有權交出去後,就只剩下一個null指針在手裏了。 class a

原创 C++編程思想(卷二):設計模式:狀態模式

狀態模式: 狀態模式產生一個可以改變其類的對象。 狀態模式通過一個前端對象來使用後端實現對象履行其職責。#include <iostream> #include <string> using namespace std; class C

原创 “贏在中國”對80後的30個忠告

1、一個年輕人,如果三年的時間裏,沒有任何想法,他這一生,就基本這個樣子,沒有多大改變了。 2、成功者就是膽識加魄力,曾經在火車上聽人談起過溫州人的成功,說了這麼三個字,膽子大。這其實,就是膽識,而拿得起,放得下,就是魄力。 3、

原创 C++編程思想(卷二):設計模式:代理模式

代理模式: #include <iostream> using namespace std; class ProxyBase { public: virtual void f() = 0; virtual void g() = 0

原创 數據結構-C++描述:數據描述引言

      最常見的數據描述方法有:公式化描述、鏈接描述、間接尋址和模擬指針。       公式化描述藉助數學公式來確定元素表中的每個元素分別存儲在何處(如存儲器地址)。最簡單的情形就是把所有元素依次連續存儲在一片連續的存儲空間中,這就是