原创 traits:Traits技術初探

traits:Traits技術初探 概述: traits是一種特性萃取技術,它在Generic Programming中被廣泛運用,常常被用於使不同的類型可以用於相同的操作,或者針對不同類型提供不同的實現.traits在實現過程中往往需

原创 list的析構

當list中保存的是指針的時候,調用erase會存在內存泄漏,需要使用下面的方法:該方法對vector無效 #include <vector> #include <iostream> #include <list> using names

原创 More Effective C++

More Effective C++     條款5:小心用戶自定義的轉換函數 1.    有兩種函數可以讓編譯器實施隱式轉換: l  單個參數的構造函數:指只傳遞給它一個參數就可以調用的構造函數。 l  隱式的類型轉換運算符 cl

原创 命令模式(Command)

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述命令(Command)模式的:   命令模式屬於對象的行爲模式。命令模式又稱爲行動(Action)模式或交易(Transaction)模式。   命令模式把一個請求或者操作封裝到一個

原创 C++類模板的三種特化

說起C++的模板及模板特化, 相信很多人都很熟悉 ,但是說到模板特化的幾種類型,相信瞭解的人就不是很多。我這裏歸納了針對一個模板參數的類模板特化的幾種類型, 一是特化爲絕對類型; 二是特化爲引用,指針類型;三是特化爲另外一個類模板。  

原创 Chain of Responsibility Pattern

行爲模式(Behavioral Pattern)是對在不同的對象之間劃分責任和算法的抽象化。行爲模式不僅僅是關於類和對象的,而且是關於它們之間的相互作用的。 行爲模式分爲類的行爲模式和對象的行爲模式兩種。 類的行爲模式:類的行爲模式使

原创 在excel中加載數據分析

應用統計學這門課程,需要用到Excel的“數據分析”工具,但是學校的Excel版本是2003版,而很多同學在使用2007或者2010版,所以我做了一個傻瓜實例,演示怎麼在excel 2010中加載 數據分析工具。 1. 點“文件”,再

原创 vector的析構

vector中保存指針時,正確的析構方法:(調用erase,clear不會自動調用A的析構函數) #include <vector> #include <iostream> #include <list> using namespace

原创 對Bridge模式的理解

對Bridge模式的理解 摘要:本文首先解釋了Bridge模式的定義。然後通過一個例子,一步步將Bridge模式實現。   在一切開始之前,請允許我先給出三條經典名言:Design to interfaces. Find what var

原创 composite模式

1. 概述 在數據結構裏面,樹結構是很重要,我們可以把樹的結構應用到設計模式裏面。 例子1:就是多級樹形菜單。 例子2:文件和文件夾目錄 2.問題 我們可以使用簡單的對象組合成複雜的對象,而這個複雜對象有可以組合成更大的對象

原创 Decorator裝飾模式

Decorator裝飾模式是一種結構型模式,它主要是解決:“過度地使用了繼承來擴展對象的功能”,由於繼承爲類型引入的靜態特質,使得這種擴展方式缺乏靈活性;並且隨着子類的增多(擴展功能的增多),各種子類的組合(擴展功能的組合)會導致更多子類

原创 抽象工廠(Abstract Factory)模式

一、 抽象工廠(Abstract Factory)模式 抽象工廠模式是所有形態的工廠模式中最爲抽象和最具一般性的一種形態。 爲了方便引進抽象工廠模式,引進一個新概念:產品族(Product Family)。所謂產品族,是指位於不同產

原创 Builder模式的誤區:將複雜對象的構建進行封裝,就是Builder模式了嗎?

    最近重讀GOF的《設計模式》,讀到Builder模式的時候,發現還是不能領悟;網上搜了下其他人的解釋,發現很多人都用錯了Builder模式,結構形似Builder,實際上卻更像Template、或者Factory Metho

原创 直接拿來用!最火的Android開源項目

http://www.csdn.net/article/2013-05-21/2815370-android-open-source-projects-finale">http://www.csdn.net/article/2013-05