原创 Top 100 (sorted by "scattergory")

Name Link Category FindSoundshttp://www.findsounds.com/ Audio Search Blogdiggerhttp://www.blogdigger.com/ Blog Searc

原创 條款47:請使用traits classes表現類型信息

STL迭代器可分爲五類:   struct input_iterator_tag{}; struct output_iterator_tag{}; struct forward_iterator_tag:public input_iter

原创 條款40:明智而謹慎地使用多重繼承

1、多重繼承的歧義性問題 class BorrowableItem { // something a library lets you borrow public: void checkOut(); // check the ite

原创 C語言字符替換

方法一: char *replace(char *source, char *sub, char *rep) { char *result; /*pc1 是複製到結果result的掃描指針*/ /*pc2 是掃描 source 的輔助指針

原创 HashSet與TreeSet

HashSet public class HashSetTest { public static void main(String []args) { HashSet hs=new HashSet(); /* hs.add("one");

原创 條款43:學習處理模板化基類內的名稱

問題提出: template<typename Company> class MsgSender{ public: ... void sendClear(const MsgInfo& info){ std::string ms

原创 條款44:將與參數無關的代碼抽離templates

  問題提出: 這個 template(模板)取得一個 type parameter(類型參數)T,但是它還有一個類型爲 size_t 的參數——一個 non-type parameter(非類型參數)。 template<typenam

原创 條款49:瞭解new-handler的行爲

       我們知道new操作符私底下通過調用operator new來實現內存分配的。當operator new無法滿足內存申請時,它會不斷調用new-handler函數,直到找到足夠內存。而客戶是通過set_new_handler將

原创 條款42:瞭解typename的雙重意義

1、兩個概念 template<typename C> // print 2nd element in void print2nd(const C& container) // container; { // this is not v

原创 HashMap

hashmap import java.util.*; public class HashMapTest { public static void printElements(Collection c) { Iterator it=c.i

原创 Vector

vector import java.util.*; class MyCompare implements Comparator // 實現Comparator,定義自己的比較方法 { public int compare(Object

原创 遍歷文件夾下的所有文件

typedef vector pathlist; pathlist pl; void iteratorPath(string path) { _finddata_t FindData ; intptr_t hFile; pl.clear(

原创 條款51:編寫new和delete時需固守常規

      很多人沒有意識到operator new成員函數會被derived classes繼承,那就會出現,有可能base class的operator new被調用用以分配derived class對象。因此 derived cl

原创 產生隨機數

srand(unsigned(time(NULL))); for (int i = 0; i < _k; i++) { int temp = rand()%(_coordCount);//產生隨機數 _clusterAssignments

原创 條款46:需要類型轉換時請爲模板定義非成員函數

問題提出: template<typename T> class Rational{ public: Rational(const T& numberator = 0, const T& denominator = 1); const