re: 什么可以使一個人堅持到底?[未登錄] chemz 2008-08-13 09:34
興趣是絕對重要的東西,只有它才能培養一個人做某件事情的信心和毅力,不可能每一個人對任何一件事情都能表現出興趣,所以也就不可能對任何一件事情表現出毅力。時間稍長興趣就失去了,那這種可能叫做熱情,不能稱之為興趣,因為興趣是較長時間的一種固定傾向,不能持續的不能叫做興趣,所以我覺得問題還是在于有沒有興趣的問題,不要將熱情和興趣劃等號。
re: 修習《預見未知的自己》——身份認同 chemz 2008-07-16 13:43
謝謝大家
re: 字符集相關問題 chemz 2008-06-22 13:55
樓上的需要注意你可能在寫const wchar_t *wstr = L"中國";這句話時引號是個中文的,所以才會有問題。
re: FAQ雜志——每月一期[未登錄] chemz 2007-12-03 10:11
樓上的建議非常的好,可以組建一個組委會,自發的總結一些常見的有意義的問題。
組委會招募開始......,有致力于從事公益事業的可以報名參與(回復一下就可以了)
re: FAQ雜志——每月一期 chemz 2007-11-28 09:10
re: forest團隊招募進行中...... chemz 2007-11-07 11:00
大家好,如果有興趣可以通過email的方式聯系chemz@263.net,附帶自己的簡歷和職位申請,如有需要會通過公司的名義約見各位,待遇面談,謝謝!
re: C++類繼承關系問題 chemz 2007-10-12 08:44
樓上提到:
public 是is a
private 是 has a
這個提法是OO概念發展的初期的一種認識,有點過于一般化不能更精確的表達出OO中的實際思想;一般現在的OO理論中將這樣的概念稱之為LSP(Liskov Substitution Principle),意思就是從行為上而言子類因該可以完全替換基類完成基類的行為職責。
public關鍵字在C++中僅僅只是一個語法元素,并不能強制使得采用了public繼承的類體系一定滿足LSP,其中還要看看子類在實現基類的接口行為時是否遵從了LSP原則,否則通過public繼承而來的子類仍然不能稱之為其滿足LSP,當然此時可能能夠滿足is a關系。
至于has a關系在OO中應該理解為composite關系,也就是常說的組合關系,在其他的OO語言中(如:Java)composite僅僅能夠通過包含關系來實現,在C++中則多了一種所謂的實現繼承private,這樣看來private僅僅只是一種特定語言的實現手段而已,代表的OO概念沒有區別。
protected在繼承時又應該是什么呢?其實如上面private具有相同的含義,僅僅只是為了方便C++類方法的傳遞調用而設計的,也是一種composite關系而已。
至于virtual繼承關系請參看
http://www.shnenglu.com/chemz/archive/2007/06/12/26135.html
re: Qt4.3.0編譯記錄 chemz 2007-08-21 08:41
你的這個問題應該是環境變量沒有正確的設置導致的,請仔細核對VC、QTDIR、PATH環境變量
re: 領域分析--認識領域分析[未登錄] chemz 2007-07-18 09:04
分析的不錯,DDD是必須要做的一個步驟,而用戶的需求可以認為是在用戶領域模型下的一種增值業務。
re: 我的項目管理經歷 chemz 2007-07-04 13:54
我深信一句話:“性格決定命運”,而根據人類社會學中的概念,性格的形成來自于兩個因素:其一、父母的遺傳(這個部分不可改變);其二、后天的教育(這個部分一旦形成也不可改變)。也就是說命運從一出生就被確定了一半,后天的教育(大學及以前)一旦完成也就不可改變了,那么其實想改變一個人的命運基本上是不可能的。
re: 在RHEL5上編譯svn1.4.4 chemz 2007-07-03 17:49
在Open Source陣營當中,沒有一個軟件會聲稱自己對質量負責,Open Source是一種文化,你認同就參與和使用,不認同就不要使用否則對自己是一種折磨,沒有好壞之分,就如同一個人的性格特征一樣,沒有好壞。
re: Qt4.3.0編譯記錄 chemz 2007-07-02 08:42
不好意思,你可以到網絡上去搜索,很容易找到的
re: Qt4.3.0編譯記錄 chemz 2007-06-29 13:34
變化是有的,沒有那么的翻天覆地,快捷鍵肯定有變化,就和Visual Studio.NET相對于Visual Studio98那樣沒有多大的關系啦
re: 我的項目管理經歷 chemz 2007-06-27 16:21
MSTP多業務傳輸平臺,沒錯,想給我介紹工作么?
re: 字符集相關問題 chemz 2007-06-27 12:05
不好意思我沒有用過Sun的CC,凡是在Unix環境下開發我們都用統一的GNU gcc編譯器集合,這樣會比較好移植。
re: 我的項目管理經歷 chemz 2007-06-27 10:32
離開是新的開始,新的開始為下一次離開做好了準備
re: 字符集相關問題 chemz 2007-06-27 10:27
你用的什么編譯器,GNU還是Sun的?
re: 字符集相關問題 chemz 2007-06-27 08:51
我在搞solaris的時候也遇到過這個問題,我所在的環境是solaris9和10對于8我不太清楚。是這樣的,在solaris的操作系統安裝光盤中有一張單獨的Languages語言支持光盤,必須要選擇安裝對應的字符集支持,如果要顯示中文還必須要切換操作系統的當前語種到中文(任意一種中文都沒有問題,最好采用GB18030,否則會出現有些生僻的字沒有編碼的問題),這樣就可以轉換和顯示了。對于solaris8沒有試過,因為比較老了。
re: 虛繼承與虛基類的本質 chemz 2007-06-12 12:25
http://www.shnenglu.com/chemz/archive/2007/05/31/25189.html文章中jazz提到的那段代碼為何編譯出錯的原因在這篇文章中可以找到。
根據文章中的語義小節,虛基類的子對象必須要在每一個子類中都包含初始化語句所以,僅僅有Usable是虛基類的友元是不行的,還必須將D作為虛基類的友元。如下:
class Usable;
class D;
class Usable_lock {
friend class Usable;
friend class D;
private:
Usable_lock() {}
Usable_lock(const Usable_lock&) {}
};
class Usable : public virtual Usable_lock {
// ...
public:
Usable();
Usable(char*);
// ...
};
Usable a;
class DD : public Usable { };
DD dd;
是的,safe code是在Visual C++2005以上版本添加上去的。visual C++.NET2003中的STL庫已經非常的不錯了,標準兼容性也很好。我最開始使用2003的時候使用了STLport4.6.2替換了2003中的STL實現,感覺還不錯的
re: boost1.34.0編譯日志 chemz 2007-06-07 14:03
bjam "sTOOLS=vc-7_1" --prefix=D:\Boost install
你的命令寫錯了看到沒有,仔細對比一下;
無法找到windows.h應該是VC的環境變量沒有運行的原因
re: C++類繼承關系問題 chemz 2007-06-07 10:38
稍后我會寫一篇關于虛繼承和虛基類的文章,解釋你所提到的問題。
re: boost1.34.0編譯日志 chemz 2007-06-07 09:07
"空明流轉"提到編譯上由于Visual C++2005的Safe Code會產生很多的警告信息,不會對代碼產生任何的影響,關掉這些警告可能會比較的順眼,謝謝!
re: boost1.34.0編譯日志 chemz 2007-06-06 17:53
在Visual Studio.NET 2003下編譯boost1.33.1的命令行:
bjam "-sTOOLS=vc-7_1" stage
就可以了,只是這個版本的regex庫中有一個文件中包含了非法的注釋字符串,會導致編譯錯誤。
具體解決辦法如下:
libs/regex/src/目錄下的一個regex_traits_defaults.cpp文件中包含有ANSI編碼無法包含的字符集,所以會導致編譯的時候出現錯誤,要解決該問題可以將該文件用notepad.exe程序打開,將其中的/*?/字符串替換掉就可以了,對于VC8還要將config/compiler目錄下的visualc.hpp文件中的第58行移動到71行的下面。
re: 什么是EBC和EBO[未登錄] chemz 2007-06-04 14:02
虛基類是虛擬繼承下的基類,抽象基類ABC(Abstruct Base Class)是包含有純虛函數的基類。虛基類在繼承時會在其子類中加入虛基類偏移指針,而ABC會由于具有虛函數而類中包含了vptr。
re: C++類繼承關系問題 chemz 2007-05-31 14:57
樓上的提的非常好。
在面向對象的理論中有兩種概念:接口、實現,所以就出現了所謂的接口繼承和實現繼承兩種關系。而protected和private就是實現繼承中所要用到的,其實protected和private兩者則約束繼承時并沒有形成兩種不同的繼承類別,而僅僅只是為了方便C++類方法的傳遞調用而設計的,其實在java這樣面向對象要求更為嚴格的語言當中,沒有實現繼承,他必須通過委托方式來完成這一概念,如果熟悉java就會明白,如果一個對象要使用另外一個對象的接口功能,而自身又不能夠充當該對象所扮演的角色時,就會通過委托來完成,這樣一來就必須在對象中包含一個委托對象,通過對象調用語法來完成功能;在C++中就可以通過protected和private繼承來完成java中的委托關系(當然C++也可以形成對象委托關系),那么這種情況下protected繼承就容許委托可以傳遞(也就是被多級子類調用),而private繼承是不容許委托被傳遞的。
區別就這些。
re: 字符集相關問題 chemz 2007-05-31 09:14
非常感謝指出,書寫時漏了L,謝謝!
重載就是為了解決用相同的函數名稱來引用不同的函數體而設計的,上面的方法時間上就不算什么重載函數了,通過def文件將重載函數的每一個實例重新選取了一個C語言中的名稱
re: 編譯單元的理解[未登錄] chemz 2007-05-06 14:13
膚淺了點,編譯單元是編譯器在一次編譯過程所對應的編譯狀態集;比如:如果在b.cpp中包含了a.cpp則在編譯b.cpp文件時會在編譯器的上下文形成一個編譯狀態集,稱之為一個編譯單元。
re: 命令行界面VS圖形界面[未登錄] chemz 2007-04-27 17:38
你的內容中非常的強調了“CLI,最大的缺點是不人性.”,我想人性的本質好像不是CLI和GUI的區別吧,不要給CLI扣上這樣的完全沒有碼頭的概念,你寫程序么?你使用XML么?那你會使用XML Spy中的可視化的方式來編寫大規模的XML文件么?好好想一想,人類在學習讀書時采用的就是一個基于字符的文檔,你會從小到大都看以圖片為主的圖書么?圖片和其他的可視化形式都僅僅只是人類在表達思想和傳播信息時的一種清晰的輔助手段而已,不要忘記了人類最基本的習慣和認知。
深刻,boost的慣用法,通過function對象來將各種可以調用的實體(如:全局函數、成員函數、functor等)統一成為一種可調用對象。
re: friend隨筆 chemz 2007-03-04 11:26
這是一個非常基本的問題,在C/C++語言中所有的定義體都只能有一個,不能夠在多個編譯單元中重復出現,所以回出現重復定義的問題,要解決這個問題可以采用內聯的方式解決,而C++中可以采用隱式內聯和顯示內聯兩種方式,隱式內聯就是寫在類的申明中,顯示內聯就是在聲明和定義出添加inline關鍵字.