re: ACE中網絡通訊編程基本架構[未登錄] walkspeed 2007-12-11 10:31
重點在于對網絡程序的client和server的理解。
client是個什么東西,要做什么。
server是個什么東西,要做什么。
再去看ACE就好明白了。
ACE給了很多模式。要去理解。
ACE并不是一個單純的網絡庫。其實是個系統級的c++API。如果做網絡程序,現關注網絡部份就可以了。
最好現了解socket編程,并寫幾個小程序練手
re: auto_ptr解析 [未登錄] walkspeed 2007-07-14 22:08
多看代碼,多分析代碼,學習代碼中的實現。不錯。
re: subversion安裝配置記錄 walkspeed 2007-07-05 16:07
多多介紹。讓大家都使用起來。版本管理對以一個團隊來說非常的重要(三個人以上就是一個團隊了)。人會遺忘,而機器不會。不要將每個項目都從頭開始,要學會在以前的項目上修改。而這一切都需要版本的管理。
re: C++模板類的三種特化 walkspeed 2007-07-05 16:03
模板的特化是非常有用的。它像一個在編譯期的條件判斷。當編譯器在編譯時找到了符合的特化實現,就會使用這個特化實現。這就叫編譯器多態(或者叫靜態多態)。這種東西對編寫基礎庫是很有用的。這也就是為何c++的基礎庫大量使用了模板技術,而且大量使用了特化,特別是偏特化。
在泛型中,利用特化類得到類新的特性,以便找到最適合這種特性的實現。而這一切都是在編譯時完成。
re: C++模板類的三種特化 walkspeed 2007-07-05 15:57
模板有兩種特化,全特化和偏特化(局部特化)
模板函數只能全特化,沒有偏特化(以后可能有)。
模板類是可以全特化和偏特化的。
全特化,就是模板中模板參數全被指定為確定的類型。
全特化也就是定義了一個全新的類型,全特化的類中的函數可以與模板類不一樣。
偏特化,就是模板中的模板參數沒有被全部確定,需要編譯器在編譯時進行確定。
在類型上加上const、&、*( cosnt int、int&、int*、等等)并沒有產生新的類型。只是類型被修飾了。模板在編譯時,可以得到這些修飾信息。
以上的2、3就是偏特化。
re: 什么是EBC和EBO walkspeed 2007-06-05 17:44
空基類在設計中是很有用的,特別是在范型下面,那可是個好東東亞。
re: enum類型的本質 walkspeed 2007-06-05 17:42
邏輯清晰,表達清楚,容易閱讀。
作者的勤于思考和樂于實踐和總結的精神值得大家學習。
多些原創好。
re: 什么元素可以作為模板參數的實參 walkspeed 2007-06-01 12:29
快出后續呀。
如果推論的話,內部字符串是個非編譯器常量啦。
這種分析很透徹,不光停留在表面上,而且講清楚了其在編譯時的特性。模板本來就是用來控制編譯期的。所以對編譯器在編譯期的了解越深刻,也容易理解模板編程。
非類型實際上就是值的意思,而要作為模板實參的值就必須是一個常量值,更準確
的說就必須是一個在編譯期能夠確定的值(簡稱編譯期常量)。記住這句話
re: 內存泄露和對象泄露 walkspeed 2007-06-01 09:20
你可以做個小實驗。
寫一個程序,只是new個幾十K的內存。
將這個程序開關,開關幾十次,你就會發現內存的后用會增加。如果再多,windows是會掛的。
re: C++類繼承關系問題 walkspeed 2007-05-31 15:33
在面向對象的理論中有兩種概念:接口、實現,所以就出現了所謂的接口繼承和實現繼承兩種關系。而protected和private就是實現繼承中所要用到的,其實protected和private兩者則約束繼承時并沒有形成兩種不同的繼承類別,而僅僅只是為了方便C++類方法的傳遞調用而設計的。
這段話比較好。理解了接口繼承和實現繼承,對于C++很重要。
接口繼承表明,繼承類與父類有了一樣的接口。
而實現繼承,繼承類和父類有不同的接口。
在C++中并沒有將接口和實現那么明確的分離。所以大家很容易以為C++類中public部分的行為就是接口,其實對于面向對象的概念來說,C++類中public部分的行為并不是接口。
re: C++類繼承關系問題 walkspeed 2007-05-31 14:16
透徹。
要是能繼續討論下protected和private繼承類的子類被約束了的訪問所代表的意義就更妙啦。
re: 字符集相關問題 walkspeed 2007-05-31 11:00
看來有人也研究過的也。
有些意識。
特別是那個_ACCallbackOpCodes結構。他將m_pStdFunc存儲空間中的頭部分的數據修改了。用的就是_ACCallbackOpCodes結構。不知這個結構的具體含義。然道函數指針空間中存儲了寫信息。呵呵。
還有那個匯編代碼。然道類的函數調用的匯編代碼及時這個樣的。學習。
有些意識。自己的想法和總結,還是不錯的。
要是能進一步設計下,寫成相互協作的類組就更有意識了。
ace中accept-connect框架完成了這類應用的,不過就是框架很大。研究起來還是很煩的。你這個思想明確,架構簡單,可以發展一下。
看來回貼的兄弟研究過boost眾的mpl了。對范型很有些了解也。
我對范型中的concept概念十分的感興趣。這個東西對解耦十分棒,而且對設計思維的擴展真是不錯。
加油,我以看完了。不好搞明白的東西。多寫代碼,即使是把它的代碼一個一個
的重復的寫一邊和編譯一邊也是非常有意的。
推薦看看 c++ template 中文版(要是能看懂英文當然更是號)。這本書對模板技術的表達的還是非常全面的。
boost中的MPL庫是用來完成編譯器編程的,非常的不錯,有空可以研究一下那個里面的代碼。boost的基礎就是模板。
stl并不是單純的用了模板技術,而是用那個技術實現了范型,個人覺得用模板技術和范型思想,完全是對傳統的面向對象技術的顛覆。非常的時尚
加油,我以看完了。不好搞明白的東西。多寫代碼,即使是把它的代碼一個一個
的重復的寫一邊和編譯一邊也是非常有意的。
推薦看看 c++ template 中文版(要是能看懂英文當然更是號)。這本書對模板技術的表達的還是非常全面的。
boost中的MPL庫是用來完成編譯器編程的,非常的不錯,有空可以研究一下那個里面的代碼。boost的基礎就是模板。
stl并不是單純的用了模板技術,而是用那個技術實現了范型,個人覺得用模板技術和范型思想,完全是對傳統的面向對象技術的顛覆。非常的時尚
re: 何為仿函數 walkspeed 2006-03-24 19:46
呵呵。首先先感謝你的關注。
我現在明白你的意思了。
其實仿函數的真正的價值不在它可以象函數那樣的操作行為。
re: 何為仿函數 walkspeed 2006-03-24 15:03
你的錯誤我看到了。
你沒有先創建一個仿函數類的對象,就直接使用了類。這是不行的。
仿函數類畢竟是個類,要先創建一個對象的。
你使用成功的那個方法,其實先創建了一個無名的對象,然后才調用operator()操作的。
所以并不是仿函數對象的用法是那個樣。
re: 何為仿函數 walkspeed 2006-03-24 10:30
呵呵,可以不用那么的麻煩的。
直接調用就可以了。
你可以試一試。