原创 混沌 IN C++::模板參數的奧祕

難度: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  先來一道思考題 template<typename T, T* p> st

原创 磨刀霍霍向STL::distance

平時無所事事,無聊中就把STL的代碼翻出來看,看到部分代碼時就突然有了這個想法,其實這隻能算個娛樂項目(可能我是極端份子或者可能是變態),如果你現在也無聊,那不妨也來和我變態一把,嘿嘿 這裏說的STL其實是SGI STL,下面所有的ST

原创 打造自己的Iterator Adapter – File Iterator

介紹有時,我們需要列出Windows中某個文件夾裏的文件。按照常規的方法就是把搜索到的文件在某個鏈表的尾端插入。例如下面的僞碼所示void list_file(const std::string& path, file_list& fli

原创 混沌 IN C++::Exception思維

難度: 您的代碼中有Exception嗎?作爲C++中最具爭議的東西,就連在使用上也不是一件容易的事,您怎麼看待異常呢?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-co

原创 混沌 IN C++::Argument Dependent Lookup

難度: rel="File-List" href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLoca

原创 混沌 IN C++::Pointers-to-Member functions 解迷

難度: 文前說明:下面涉及到的內容討論了在GCC 3.2和MS Visual C++6/.NET中,指向成員函數的指針的實現。如果您將本文讀完,別忘了文章最後的一點說明。<?xml:namespace prefix = o ns = "u

原创 混沌 IN C++::動態資源管理陷阱

難度: 先閱讀下面的代碼然後來解答下面的那個問題<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   struct A {};  

原创 混沌 IN C++::Template Metaprograms

難度: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  文前說明:文中涉及到的觀點並不是要求你去遵循它,而本文只相當於一篇“科普文

原创 偷窺Boost Conversion Library(二)

//(接上)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 三、與值和類型相關的類型轉換 1、 lexical_cast 在程序開發

原创 混沌 In C++::是類型?還是函數調用?

難度: 文前提醒:看這篇文章時須家長陪同並引導,以免走火入魔   先看看下面的代碼?    struct A {      A(){} };   template<typename T> void func(T() ) {}   in

原创 偷窺Boost Conversion Library(一)

開門見山 廢話少說<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 一、與多態類型相關的轉換 1、 polymorphic_cast