原创 啓用新的博客地址https://icerote.net/blog/

轉移到個人網站https://icerote.net/blog/。以後不會再到CSDN寫blog了萬一同步回來呢?。

原创 如何獲得當前所在的DLL模塊名稱

起因:    因爲工作需要,寫了一個小工具,嵌入到各個項目中(這些項目都是DLL項目).然後,在這個工具可以輸出一些信息到日誌文件.當然,輸出信息需要

原创 不停說抱歉的程序員

from http://blog.csdn.net/redguardtoo/archive/2006/03/23/636479.aspxwtf看到現在

原创 dynamic_cast詳解

作爲四個內部類型轉換操作符之一的dynamic_cast和傳統的C風格的強制類型轉換有着巨大的差別。除了dynamic_cast以外的轉換,其行爲的都是在編譯期就得以確定的,轉換是否成功,並不依賴被轉換的對象。而dynamic_cast則

原创 設計模式筆記(8 CHAIN OF RESPONSIBILITY & COMMAND)

CHAIN OF RESPONSIBILITY(職責鏈)適用性:1.有多個對象可以處理統一請求,但是,那個對象處理要到運行時刻決定。2.希望在不明確接收者的情況下,向多個對象中的一個提交一個請求。3.可處理一個請求的對象集合應該被動態指定

原创 設計模式筆記(9 INTERPRETER & ITERATOR)

INTERPRETER(解釋器)適用性:當有一個語言需要解釋執行,並且你可以將語言中的句子表示爲一個抽象語法樹時,可使用解釋器模式。思考:一個常見使用情況當然是操縱一種程序語言,例如JavaScript,Python。這個時候,我們通常使

原创 Lambda演算學習筆記(轉)

from:http://www.blogjava.net/wxb_nudt/archive/2005/05/15/4311.aspx作者:wxb_nudt Lamda演算簡介 Wikipedia(維基百科全書)中關於lambda演算的解釋

原创 (舊貼)一個複雜的boost.lambda表達式的例子

    這是當初發在論壇裏的,可惜沒有人感興趣,漸漸的沉沒了.雖說對一篇爛文章來說,沉沒了反而是一件好事情,對我來說,卻是學習中的一個足跡,爲將來反省留個見證.老實說,這個例子過於華而不實,寫的人好寫,讀的人卻不太好讀.不過其中撰寫複雜l

原创 設計模式筆記(12 STRATEGY & TEMPLATE METHOD)

STRATEGY(策略)適用性:1.許多相關的類僅僅是行爲有異。”策略“提供了一種用多個行爲中的一個行爲來配置一個類冊方法。2.需要使用一個算法的不同變體。3.算法使用客戶不應該知道的數據。可使用策略避免暴露覆雜的、於算法有關的數據結構。

原创 利用netsh編寫網卡動態配置的腳本

    當年華爲和思科鬧的沸沸揚揚的官司裏,有一項是起訴華爲的CLI和思科的雷同。其實,CLI這東西,不僅僅是華爲這麼幹,其他的CLI大抵類似,這不,windowsXP和2000都有個netsh.exe程序,就是微軟版本的網絡配置CLI。

原创 設計模式筆記(6 FACADE)

FACADE(外觀)適用性:1.需要爲一個複雜子系統提供一個簡單接口時,爲子系統提供一個簡單的外觀。2.客戶程序與抽象類的實現之間存在很大的依賴性3.當需要構建一個層次結構的子系統時,使用FACADE來定義子系統中每層的入口點。思考:  

原创 設計模式筆記(11 OBSERVER & STATE)

OBSERVER(觀察者)適用性:1.當一個抽象模型有兩個方面,其中一個方面依賴於另一個方面。將這二者封裝在獨立的對象中以是他們可以各自獨立地改變和複用。2.當對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變。3.當一

原创 感慨:編寫堅固的代碼

    分析了公司的一個項目代碼,結果令我非常沮喪。分析的這個項目大約有500個文件, 並不很大。我承認,這個項目的程序員都是訓練有素的,然而,都是C語言的訓練有素,不是C++的。    我們爲什麼選擇C++作爲一個軟件項目的開發語言?我

原创 vc7.1中nth_element的一個實現優化

     今天在vc7.1下寫了一個小例子,測試一下nth_element和partial_sort,結果partial_sort表現正常,但nth_element的表現卻很奇怪。     代碼是這樣的: vector<int> v

原创 《C++編程規範》筆記(設計風格)

第5條:一個實體應該只有一個緊湊的職責    單一職責原則。這個原則並不那麼容易執行,即使是STL這樣的程序庫,也一樣會犯違反該原則的錯誤。在這裏,舉了兩個違反這一原則的著名實現:realloc和stl 中的basic_string。不過