整理日期 2001/11/30
我對讀者來信的回應與整理,一方面是自己留個記錄,一方面
竊自以為對其他讀者容或有點參考價值。所以依序整理下來。
為保障讀者隱私,所有來信一律隱其名,隱其址。曾經特別
囑咐我不要公開者, 當然也不予公開.

傳送日期: 2001年11月1日 AM 10:43
Hi!Hou Sir,
我非常喜歡<<Effective C++>>和<<Inside C++ Model Object>>﹐他們是我弄清楚了許多以前似是而非的事情。
很可惜的是﹐同樣是您譯的<<More Effective C++>>在大陸沒有辦法買到﹐令我在看到交叉引用如"條款Mxx"之類是覺得心癢難搔﹐所幸我在一家臺資公司就職﹐最近已經托臺干回臺度假時在台灣幫我代購了﹐估計馬上就可以見到了吧。:)
我第一遍看<<Effective C++>>時﹐很少去注意交叉引用的條款﹐可是我在第二次精讀的時候﹐發現了在導讀中(P6)提到"placement new"﹐引用了條款14(總是讓base class擁有virtual destructor)﹐可是我在
條款14中反復搜尋﹐都沒有發現placement new的介紹。
我在第一次通讀的全書的時候﹐應該是見過的(難道是在<<Inside C++ Object Model>>?)﹐可是我現在怎麼也想不起來是在哪裡見到的﹐您能在百忙之中抽出一點時間﹐看一看正確的介紹是在那個條款中嗎﹖

謝謝﹗

●侯捷回覆:你這麼仔細地閱讀這本書,真讓我感到開心。你所指出的,的確是個筆誤,應該是條款M4。我將列於勘誤表。

提醒你,下次遇到這類問題,可善用索引(index)。只不過這次查不到 placement new,因為 placement new 跨越另一本書去了。

我還要建議你閱讀侯捷網站上的
2001/08 計算 C++ 物件個數,這篇文章正是《Effective C++》中常出現的參考文章 "Object Counting in C++",其中對 placement new 也有許多介紹。此外,當然,諸如《The C++ Programming Language》和《C++ Primer》等百科全書也都對 placement new有介紹。

 

 

傳送日期: 2001年11月1日 PM 03:06
侯捷老師﹕您好﹗

這本《Essential C++》中文版終於讀完了﹐真是受益匪淺﹔像我這樣的不是計算機專業的、可由喜歡編程的來說﹐最大的痛苦就在於沒有很大的精力來讀“重量級”的書﹐這本書很適合我﹐再次向您表示感謝。讀的過程中﹐又發現了幾個印刷錯誤(仍未列入“勘誤表”)﹕...

●侯捷回覆:謝謝指正。立刻納入勘誤表中。



 

傳送日期: 2001年11月1日 PM 03:38
侯先生﹕
您好﹗近日正在讀譯作《Essential C++ 中文版》﹐發現其中的一些問題﹐有以下的幾處﹕
...
以下是我的疑問﹐說錯了﹐還請先生指正﹕)﹔

4>.P20 的那個while體內“//為用戶顯示數列”之前﹐我覺得還缺少下面的二句﹕
got_it=false;
go_for_it=true;
否則﹐當用戶猜對了一次後,got_it永遠變成了true;或者﹐當用戶回答不願再猜後﹐go_for_it永遠變成了false,那麼以後內層的while loop將不會再有機會執行。不知道我分析得對不對。

5>. 我用VC6.0編譯練習3.1的解答程序時(完全是照書的的程序碼Key in)﹐居然發現有226 warnnings﹗好長的Build Log﹐看得人都眼花了﹐不知是什麼原因﹐也不知是不是我的軟件有問題……(附件裡有﹕3.1的原碼及其的Build Log)。

6>.P229 練習4.2延伸Stack的功能的程序中﹕
return ::find(_stack.begin(),end_it,elem) !=end_it; 以及﹕
return ::count(_stack.begin(! ),_stack.end(),elem);
我覺的應該是std::find與std::count﹐事實上先生網頁裡提供的CODE也是這樣寫的。按書上的做法﹐則會有errors﹕
error C2039: 'find' : is not a member of '`global namespace''
error C2039: 'count' : is not a member of '`global namespace''
的確’find’與’count’是在std namespace內﹐不是在global namespace之內。

7>.書中所有的main function都被指定返回一個int數﹐但無一有return 語句﹐這在vc6.0下會導致一個warnning﹐無傷大雅﹐但是卻不大符合《Effective C++》條款48﹕Pay attention to compiler warnings的精神﹕)。

我學識淺薄﹐錯誤的地方讓先生見笑了﹕)﹐最後祝先生身體健康﹐閤家幸福﹐也盼望ぴ先生筆耕不輟﹐ぴ更多的好書。
湖南─長沙


●侯捷回覆:前三點,謝謝指正。立刻納入勘誤表中。
第四個問題,是程式邏輯問題,就不要問我了吧。請寫信給作者 Lippman。
第五個問題,抱歉,沒時間幫你看。請寫信給作者 Lippman。
第六個問題,的確應該改用 std::find()和std::count()。Lippman 寫書有個缺點,宏觀很好,微觀的小錯誤太多。納入勘誤表。
第七個問題,那是 VC 多管閒事,「在 int main() 中不寫 return 句」符合 C++ Standard,不該有警告。


 

傳送日期: 2001年11月1日 PM 07:04
侯sir你好:
我想請問您:<>第四章練習題1中有一語句:
while(cin>>str&&!st.full())
st.push(str);
其中str是一個string,st 是一個棧類,該語句意思是將str 推入棧中,直至cin返回false或棧滿.但我在運行時卻無法退出該循環,請問如何使cin返回false?
我是大陸一學生,郵箱地址是 ...
希望您在百忙之中抽空告訴我.謝謝!


傳送日期: 2001年11月1日 PM 04:02
你好﹐侯捷先生 ﹕
居住省份 ﹕江蘇南京
對侯捷的建議﹕不敢。早就聽人推薦這本好書﹐可惜我經濟條件不好﹐每次只能在書店裡罰站閱讀。不久無意間在csdn上發現了您的專欄。還有本書的下載﹐萬分感激。我只是個fan,以前看了一段時間的java﹐怎奈聽說java實際有點太冷門。只好再看看C++。相信您的大作肯定會對我大有裨益。

另外﹐您在csdn上提供的這本書的5個pdf文檔﹐由於每個文檔都要內嵌了好幾種繁體字體﹐使得文檔太大﹐而且重複的內嵌字體浪費了很多空間和下載時間﹐不知道您能否將它們連續成一個pdf﹐這樣字體只要內嵌一遍即可。可以節省許多時間。

●侯捷回覆:你對《深入淺出MFC》PDFs 的建議很好,謝謝。
找個時間我把五個檔案合而為一。

 

 

 

傳送日期: 2001年11月1日 PM 10:47
侯老師﹕您好﹗
近日拜讀您的大作《深度探索C++對象模型》已有三遍﹐自感對C++的了解又有了一個質的飛躍。但仍有一些地方不甚了解﹐還望老師賜教。

問題一﹕

P161頁倒數第二段﹕然而上述的offset加法卻不能夠在編譯時期直接設定﹐因為pbase2所指的真正對象只有在執行期才能確定。

為何如此﹖根據程序﹐pbase2已經指向了Derived對象的Base2子對象﹐加上一個offset因是可行的啊。

問題二﹕
你在書中多次提到將操作“局部化”﹐學生我實在未能體會其意思。

再次感謝老師﹗﹗﹗


 

傳送日期: 2001年11月2日 AM 10:12
主旨: Inside The C++ Object Model
侯Sir,
又來麻煩您了,昨天在<<Effective C++ 2E>>中發現一處筆誤。
晚上在家堿<<Inside C++ Object Model>>的時候,又有一處疑問想和您討論。
在P53處,提到了不展現bitwise copy semantics的四種情況。
其中第三種,“黨class聲明了一個或多個virtual function時”,根據下文?述之?容,同屬一個class的object之間的複製,bitwise copy對vptr是安全的。
竊以為此句(第四條同此理)應為:
黨class繼承了一個或多個virtual function時,並且以base class object為初值時。
不知道原文如何,可是我覺得這樣寫才不會有歧義。
我看到這裡的時候就很疑惑不解,翻?了後續?明,才明白他的真實意義。

 

 

傳送日期: 2001年11月2日 AM 10:36
jjhou﹐您好﹗
我看你的《深入淺出MFC》第二版之後﹐受益非淺﹐我看過很多關於MFC的﹐
講的都很籠統﹐讓我很不解其意思。看了你的書﹐就不一樣﹐你將的很詳細﹐而且
有些關鍵的問題﹐從頭到尾一直強調﹐使這些概念在腦中行成了很深的印象。
尤其是你的MFC的六大技術之模擬﹐使我很深的認識了MFC的骨幹的東西。
在學習方法上﹐你在P260中描述的很好﹐你把學習MFC的過程描寫的很形像。
要從一個近似垂直的曲線﹐拉成了一個階梯狀的曲線。我在學習的過程中深有體會。


 

傳送日期: 2001年10月29日 PM 08:37
jjhou﹐您好﹗
我叫□□﹐現在在南京航空航天大學讀書﹐看了你的書﹐有耳目一新的感覺。
我24歲﹐男性。
我很佩服你的慷慨﹐很少有人把自己寫的書以電子圖書的形式免費發送。你真的很棒﹗
  


 

傳送日期: 2001年11月2日 PM 04:55
居住省份(台灣讀者請寫縣市)﹕遼寧省大連市
對侯捷的建議﹕
希望多翻譯一些比較有價值的國外書籍﹐特別是
既使用于初學者﹐又可用于參考資料和深入研究的好書﹗

●侯捷回覆:沒有這樣的全能書籍。不要對任何書籍有「一次買足」的心理。

 



傳送日期: 2001年11月2日 PM 04:15
侯先生﹐您好﹗
我是您的忠實讀者﹐看了您的《深入淺出MFC》之後﹐真有“終見廬山真面目”之感﹗在此要衷心謝謝您﹗
我還有一點不明白﹐若先生有暇﹐望指點﹕
在您的書中(第433頁)分析了AfxSig_xx的構成﹐但是我看了MFC的代碼後﹐發現在消息映射表的填寫中﹐MFC幫我們填好了nSig那一項,我們只有填寫兩項的機會 ﹐即﹕
Uint nMessage
AFX_PMSG pfn

那麼大量其它的 AfxSig_xx 格式豈不是根本沒有用了﹖

●侯捷回覆:雖然沒有要你填,但不表示沒有用。

 

 

傳送日期: 2001年11月2日 PM 04:41
侯老師﹕
您好﹗
讀了您的書以後﹐對C++產生了很大興趣﹐想好好地學習一下﹐可是現在手頭的書不能滿足我的要求--我已看完了﹕)﹐於是想買您介紹的那本《C++primer》﹐可是在本地(哈爾濱﹕黑龍江省會)跑了大小數個書店都沒找到﹐最後想起了您﹐
我想求您幫我買一本中文版的﹐我自己也感覺這樣有些過份﹐但我實在憋不住了﹐我想了好多天了﹐最後決定寫信給您﹐如果老師您有時間幫我買一本﹐希望你回信告訴我給您匯款的方法。最後對您給我們出了這麼多好書表示忠心地感謝﹗﹗

●侯捷回覆:我無法幫你。CSDN 有代理。





傳送日期: 2001年11月2日 PM 06:33
侯杰老師﹕
您好﹐剛在網上讀了您的《C++ 的沉迷與愛戀》對於﹕
“初學 C++ 語法(syntax)之後﹐你應該儘快嘗試體驗 polymorphism (大致而言也就是虛擬函式的運用)。等到對 OOP 的精神有了大局掌控的能力﹐但對 C++ 的許多小細節不甚清楚﹐就是回到C++ 物件模型 煉的時機。”
有很多問題﹕
1﹐您所說的初學C++語法﹐指應該達到什麼程度﹖具體的說﹐是否要學完
C++的數據結構呢﹖
2﹐ 由於我剛學到CLASS﹐對polymorphism一點也不知道﹐但我想您能否告訴我一個C++學習計劃﹐比如﹐學到CLASS 時該看什麼書﹐要注意什麼等﹐由於客觀條件的原因﹐我只能自學C++﹐但看了您的文章以後﹐很害怕自己學的不高不低的﹐浪費時間﹐所以希望您指點一下
3﹐大局掌握能力能否說的詳細些呢﹖

感謝您在忙碌之余﹐看我的信﹐希望得到在讀者回函中看到你的答案﹗
祝萬事如意﹗
想探索C++的人

●侯捷回覆:何謂「C++的數據結構」?
別那麼擔心我文章中說的那一切。如果你對我所說的沒什麼感覺,學下去,自然就有感覺了。既曰感覺,就很難量化。我真的很難更具體說明了。

 

 

 

傳送日期: 2001年11月2日 PM 08:09
候老師﹕ 你好﹗
我是一名您的熱心讀者﹐幾乎讀遍了您的網站上的每一篇文章﹐您的筆風和知識讓我佩服得五體投地﹗﹕)

我從你的文章中才知道成為一個優秀的程序員這條路的方向在那裡﹐並且怎麼走以及從那裡開始﹐真使我收益非淺。我在學校只是學習了有關計算機的一些基礎的知識﹐對於C++,Windows,VC++上的編程只是一知半解﹐在看了你的文章後﹐才知道應該怎樣學習﹐但我現在
不知道學習編程是從Windows 高層開始還是從底層開始﹐我也曾經考慮過自己的興趣﹐但也許是您的文章寫的太好﹐我發現自己對底層和高層都有很大興趣﹐所以想請教以下你﹐望你能指條明路﹐謝謝﹗

另外我有一個想法想請教以下您﹐在您的文章中介紹的書都是Win9x,
在win2000不知書中介紹的知識變了沒有﹖如果在Win2000下編程有哪些好書參考﹖謝謝﹗ ﹕)
我也下載了您公開的電子書籍﹐很感謝您能公開這些書﹐照您的要求我寫上我的資料﹕

居住省份﹕陝西省
對候捷的建議﹕望您保重身體﹐多發表文章和介紹一些書給讀者﹐有空的話多來大陸﹐謝謝﹗
再次感謝您在百忙之中抽出時間來看我一個無名小卒的信。
你的忠實讀者
2001.11.1于西安

●侯捷回覆:從高層開始學習。到了「知其然」並希望「知其所以然」時,就進入低層去看看學學。有時候,「知其所以然」才能使你「真正知其然」。

所有我推薦的書,如果它們有win2000新版本,肯定都是好書。舊版既是好書,新書不可能差到哪裡。

 

 

傳送日期: 2001年11月2日 PM 10:09
主旨: 深入淺出 MFC
居住省份(臺灣讀者請寫縣市):彰化
對侯捷的建議:
抱歉 雖然我已經買了你不少的書 也覺得你翻譯的很不錯
但其實我很少看 因為在校外接的Case多以Delphi來開發較高階的商業程式
所以我很少碰C++ 或其他較低階的東西
但我對C++與Windows平台仍然有很大的興趣...只是一直沒有時間可以深入的研究
所以目前 只好先Download您的電子書下來過過乾癮
但使用者付費是必然的 電子檔我只當做參考
看看這本書裡面大概在講什麼
若將來有用到這本書的知識
我會想起這本書 然後去買一本
再去詳細了解裡面的內容
因為....我太欣賞你了

 

 

侯捷先生﹕您好﹗
我是一名win32編程的初學者﹐我想知道pe文件格式中的“資源文件格式存儲﹐比如對話框”你的那本電子書裡有。
我還想知道台灣的一些優秀IT站點(編程)﹐我看了您的“網路資源”上面都是英文的。台灣不會只有那一兩個站點。

 

 

侯老師﹕
P88,L-5
原文﹕filtering integer array for values greater than 8
更正﹕filtering integer vector for values greater than 8
正希望我能像清華或華中科技大學的同學們那樣﹐親自聆聽你的演講。不過有你的書看我也很高興了。

江蘇.揚州 □□  (揚州大學)

●侯捷回覆:謝謝你的指正,立刻納入勘誤表。也許以後有機會見面 :)


 

傳送日期: 2001年11月3日 PM 11:31
主旨: 請教出書
Dear 侯捷:
經常拜讀您的大作,也聽過你一兩場演講. 雖說台灣有需多大師級的程式設計師但是沒見到幾位像您一樣執著在撰寫深度技術書籍. 在此表達我個人對您在技術領域的探索的深度與不吝於公開您在技術方面的心得這等胸襟表示敬佩. 也與許多的讀者一樣寄望您的新書早日上市, 讓我們一飽眼福. 我想好的作者是需要鼓勵的,期待您的作品!!

 

 

傳送日期: 2001年11月4日 AM 12:00
侯捷老師,你好!

對您的作品的讚美,我想並不需要我再錦上添花了。

此信的來意,其實是想取得您的轉載同意。我想將您在「2001 大陸行    交流,是友誼的
起點」一文中的 "「程序人生」演講內容摘要 "轉載到BBS系站上。

或許,侯老師您會覺得奇怪,為何僅僅想轉載這個部分!?

我現在就讀某私立大學電機系,系上的電腦課程不多,與程式設計有關的更少,連計算機
概論等課程都概括進來,也不過十來個學分。而程式設計對電機的重要性,其實也不是那
麼的重要,以至於老師授課,也僅「點到為止」,概略地介紹一下而已。

在這種情況下,班上學習的風氣實在不好。在學生不佳的學習績效與意願的反應下,老師
更是隨便教教,「大家高興就好」大概就是畢班的現況。雖然我並不想走程式設計這行,
但是我對程設也已燃起了學習的興致,於是接觸到了您的譯著 C++ Primer 3/e 。

在閱讀了該書後,我不但對您的專業折服,對您在序文中的許多理念,我亦十分認同。忍
不住將您網站上的文章全部看完,想更了解侯捷老師其人其行。

而今日上站,見到您新刊載的文章「2001 大陸行    交流,是友誼的起點」,當然是讀之而
後快。其中尤以 "「程序人生」演講內容摘要 "一段,讓我感觸良多。

雖然,市面上不乏成功人士回顧自己學習歷程而給予後進勸戒勉勵的文章。然而,大多以
文法商科為主、理科次之,對於工程學門,似乎就付之闕如。彷彿工程學門的學子就不會
有對未來的困惑、對學習的迷惘似的,只要待在工作室、實驗室裡埋頭苦幹即可。

雖然資工和電機差異頗大,但是我想侯捷老師您文中提及的經驗與建議,是無限於學門的
差異。所以我想請您同意我將"「程序人生」演講內容摘要 "一段轉載到BBS系站上,或許
也能讓我的同學、學弟妹們從中學到點侯捷老師的智慧和經驗。
 
敬祝安康

●侯捷回覆:歡迎轉載。

 

 

 

傳送日期: 2001年11月4日 PM 01:15
候捷先生﹕
您好﹗
我最近正在看您翻譯的《Inside c++ object model》
一書。下面是我對《Inside c++ object model》的169頁
您提出的關於為什麼Point3d有兩個VTBLS的看法﹐與您探討﹗

首先﹐我反過來考慮這個情況﹐即只有一個VTBL。
為了保持DerivedClass中BaseClass的原樣﹐那就只有保持
BaseClass 的VTBL﹐剔除Poniter3d中__vptr__Point3d
指針指向的VTBL中的Virtual Functions Pointers。(
但是需要保留offset to virtual base項--即第一項.)

我認為這樣做的問題是﹕
1.對於Point3d對象訪問它的虛函數多了一層執行期的
防問間接性(先訪問__vptr__Point3d獲得virtual base
class 的offset,找到virtual base class 的起始地址﹔
再計算virtual base class中的VTBL指針﹐接ぴ就利用該
指針訪問virtual function.)特別是﹐當還有第二﹐乃至
第三層的virtual inheritance時﹐這種間接性的也會相應
的增加﹐訪問virtual functions效率也就越來越糟糕。

OK!這只是我的看法﹐不知道對不對﹗
最後﹐感謝你為我們翻譯的這本好書﹗:)

●侯捷回覆:謝謝你告訴我你的看法。

 

 

傳送日期: 2001年11月4日 PM 03:49
居住省份(台灣讀者請寫縣市)﹕廣東
對侯捷的建議﹕還沒看過這本書﹐所以沒什麼建議﹐不過對您厚愛讀者的行為有好感。
因為最近又看了金庸的《天龍八部》﹐對喬峰(蕭峰)的宅心仁厚非常敬佩﹐在這裡非常
想把它(宅心仁厚)用到您的身上。





傳送日期: 2001年11月4日 PM 03:00
侯老師﹐您好﹗

這本書我已看到第四章﹐有一些疑問要和您商討。
下面的頁碼都是
pdf文件20010919中的頁碼。
1.第四章Method overloading一節中﹐p221,Overloading.java這個例子上有一句
“以下例子同時示範了「運算子」和「一般methods」的多載化﹕”﹐“運算子”應為
constructor
原文“Here’s an example that shows both overloaded constructors and overloaded ordinary methods。”

2.You must perform cleanup一節中p239,第三行System.runFinali-zation()﹐多了一個"-".

3.The death condition一節中p240,最後兩行﹐
Book(boolean checkOut) //此處少了一個“{"
checkedOut = checkOut;

4.How a garbage collector works一節中p242,最後一段第一行
“你得了解另一種不同的垃圾收集器(GC)架構﹐才能更加明白上述方式如何運作。”
原文“To understand how this works, you need to get a little better idea of the way the different garbage collector (GC) schemes work”
似乎應譯為“你得了解各種不同GC架構的運作方式”﹐因為scheme為複數﹐
顯然不是“另一種”的意思。

5.還是這一節p243,倒數第二段的第二行“可以被正確地修正﹐”原文為“right away",似乎
應該是”立即被修正“。

另外對於這一段中的描述﹐我也有些不解﹐為什麼來自"heap"的引用就可以馬上被修正﹐來自
stack的那些如何呢﹖﹖我懷疑是不是弄錯了﹐應為stack.

6.在這一節的最後一段﹐p245﹐關於JIT提高效率的描述對於我這樣的java新手非常之晦澀,建議侯杰在這能加一點譯注﹐插圖﹐說明一下java的編譯技術的演化。

祝 順利﹐健康﹗

●侯捷回覆:感謝您的建議與勘誤,使此書更好。關於 " { " DOC 檔中是有的,轉為PDF時漏了。正式出版時應該不會有問題。

 

 

傳送日期: 2001年11月4日 PM 03:44
Hi,Dear Mr Hou,

When i programed with STL, i met some difficulty.
I designed a container:

template<class _Key, class _Value, class _Algorithm >
class mycontainer;

I aslo wrote a algorithm( a function object ):

template<class _Container>
class myalgo;

Now i want to build a specified Container:

mycontainer< key_type, value_type, myalgo<mycontainer> > a_container;

But the form above are recursive definition, it is forbiden by compiler.
Can u give me some help for this problem?

Thank u very much!
Best Regards,

 



傳送日期: 2001年11月4日 PM 07:52
主旨: A mistake in 'Journey in Mainland 2001'

Hello, Mr Hou

I've just read your essay
'Journey in Mainland 2001' from CSDN. I'm your
book's reader, and I'm living in mainland.

There's an abstract of your lecture in Tsinghua University. In that abstract,
you said all the publishing company in China Mainland was owned by China
government. That's not right, there's also many publishing houses belonging to
individual persons, district governments.


That's not a big mistake, but perhaps you didn't know China mainland's book
publishing system well.

●侯捷回覆:我說「國營」,意思是「公營」。的確我的用詞不夠精準。

大陸沒有你所說的私營出版社。你所以為的,其實是向公營出版社買書號來製作。也許雙方談妥了怎樣的條件,因此可以在封面掛上公司名號。有些公營出版社,每年光是賣書號也夠生活了。這樣的制度如何產生競爭力?這種靠「國蔭」而過活的出版社,入世開放之後第一個被摧枯拉朽。

「管制、保護」是政府的一種顢頇心態。言論是洪水猛獸嗎?媒體刊物是洪水猛獸嗎?不對的言論,就拿事實來反駁,為什麼怕?怕,因為心虛;怕,唯恐動搖國本。為什麼會動搖國本?這就自己想囉…

上有政策,下有對策,何必?政府部門不可能不知道買賣書號一事,卻任由想好好做事的人努力無門,任由不知上進的人白享民脂民膏。

這是我的了解。

 





傳送日期: 2001年11月5日 AM 10:48
居住省份 ﹕北京
對侯捷的建議﹕
您的書太好了﹐對我幫助很大﹐非常感謝﹗
望能再出一些類似書籍。

另有一問題﹐我對 MFC Internals 這本書很感興趣﹐不知在哪有﹖再次感謝﹗






傳送日期: 2001年11月1日 PM 04:47
侯先生﹐您好﹗

前些天買了您的《Effective C++》簡體版﹐我首先要說的是這幾乎是我在大陸見到的最精美(就外觀而言)的電腦書了。有耕耘必有收穫﹐至少我對華工的書多了不少信心。

這本書﹐唔﹐怎麼說呢﹐確實挺貴的。但是確實是貴得有道理。君不見Thinking in C++中文版39大圓﹐現在已經被同道稱為
《C++變成死相》了 ……翻譯太差。無論從原書、從翻譯、從裝幀還是從宣傳上﹐《Effective C++》都稱得上是水準之作。這本書我會珍藏﹐而且會一再的翻閱。我現在還沒有能力就其中的技術問題向您討教﹐不過我覺得有足夠的能力自己研究。這是每看一遍都會有收穫的書。

BTW﹐這本書有一個最大的好處我特別欣賞﹐就是字號用得特別大。在某些人看來可能是騙錢的伎倆﹐但我覺得實在是造福讀者。我有種感覺﹐
看字比較大、排版很清爽的書﹐似乎連對書的內容的理解都會容易些。您的《深入淺出MFC》也是如此。

離開家到上海來上學﹐行囊沉重﹐就把您的《深入淺出MFC》留在家裡了(代替它位置的是《Programming Windows》、《Inside Visual C++》﹐這樣不至於讓您太失落吧﹕)不過現在覺得是個錯誤﹐至少是個疏忽。有時候在編程的中間﹐突然對Framework產生了一點疑問﹐這時候Petzold和Kruglinski可幫不了我。所幸現在手邊做的是個Java項目﹐等寒假回家一定要把它帶過來﹗

看了您對免費的看法﹐我深以為然。人性趨利﹐我不知道有多少人在完全沒有經濟效益的情況下還能保持自己的水準。至少我是做不到﹐現在作的項目老闆(導師)沒有犒勞我們的意思﹐心裡就覺得很不爽。所以我支持您
優質優價的思路。堅持下去。您的網站CD我希望能有渠道單獨發行﹐或者憑購書的憑證購買﹐最好不要跟某一本書一起All-in-One。一旦那本書不是我的定位所在(雖然我相信仍然會是精品)﹐豈不很不爽﹖

呵呵﹐都是廢話。您每天要收到多少這樣的信啊。做名人真是挺累的事。

●侯捷回覆:不,你說的都不是廢話。

我原先不知道什麼是《C++變成死相》,如今才知是《C++編程思想》。想想這書在大陸的紅火程度,它的翻譯品質(如果確實很差的話 — 我不知道,我沒怎麼看)將影響多少人的學習和學習樂趣。每念及此,惶悚難安,臨淵履薄。

版面是書籍很重要的一環。很多人認為技術書籍嘛,技術性的內容最重要。這當然沒錯,可如果版面好,有加深加快學習效果的作用。我於此點早有體會。版面要好,就要花功夫,花了功夫,售價就得不同。一般大陸讀者很喜歡密密麻麻的版面,把留白、視覺效果都視為灌水騙錢,把導引性的輕鬆文字視為廢話。我總建議這樣的讀者(如果我還有力氣建議他們的話),最好去看規格書 — 網上很多,絕無廢話,愛印多密集就印多密集,而且免費。

我期許自己把(我以為的)高格調產品引入內地 — 不獨技術內容,還含其他如裝禎、版面、索引…。我喜歡精緻,我希望我的東西都很精緻。至於經濟因素,非我所能解決。

《侯捷CD》(沽且名之)將會是個單獨產品,並附一本精美別冊。都只是構想,不過想來很快樂(於我自己)。





傳送日期: 2001年11月5日 AM 10:38
主旨: RE: 2001 大陸行

Dear JJ,
一口氣看完這封attachment,甚是暢快,亦有省思,每每看你在文章中所提種種,總可感覺出你的改變,也好像藉由你的筆描繪出我自己難以表達的想法,你正走向余秋雨對成熟所形容的境地.

我們雖都是"資訊"工作者,顯然你經過的途徑可以吸收較多的文化涵養,藉由文筆映射出工程師另一層面的狀態與需求,而且你所積蓄的養分,可以透過綿延的渠道,輸送給孜孜不倦的需要者.

你愉快的心情,對我甚有感染力,給我注入了不會當即爆發,但卻潛移默化的功效.
他日再敘.

●侯捷回覆:與你一起成長的那段少林寺歲月,是我最快樂的時光。Gang of Four 共登雪山頂,難忘的青春。不常看你寫文字,寫來的信卻總是有味道。你以前總問我,可以做到幾歲?如今我亦無言,倒是要拿同樣的問題來問你了。

傳送日期: 2001年11月5日 PM 05:26
沒錯,青春少年兄的熱情,不管做什麼都會讓自己懷念,有緣的是我們共有這麼一段讓人懷念的時光.

現在打電玩都成為 "資訊" 工作了,可見資訊工作還可以有很多延伸及想像的空間,不一定是換跑道,轉個彎也同樣能找到自己的空間。

當初(25歲)以為35歲是程序員的高齡者,40是極限,現在卻覺得還做得下去,產業需求及個人興趣,是工作的二個必備條件,現在過了35,我卻說不出我可以做到幾歲.

前日與朋友談天,他說以前的他,凡可能用得到的資訊書籍,都會買回家K,現在則老愛看些旅遊/文學/玄學的書,我說他,往是學德,今日求道,他心有悽悽焉;我雖沒有這麼極端,卻也有如此心境,也許再過一些時候可以說得更清楚一點.

●侯捷回覆:

年少不識愁滋味,愛上層樓,愛上層樓,為賦新詞強說愁
而今識得愁滋味,欲語還休,欲語還休,卻道天涼好個秋

 

 

 

傳送日期: 2001年11月5日 PM 07:41
侯先生好﹕

現職﹕軟件公司策劃
年齡﹕33歲
居住省份﹕北京
建議﹕

談不上建議﹐我畢業的時候windows剛剛纔出市﹐因為有一段時間忙於生意﹐根本無機會再學習充電﹐只好自學﹐後來又做些管理工作﹐離技術越來越遠。九六年開始又進行網絡方面的創建﹐算是回到了技術行列﹐但主要圍繞在WEB方面﹐一心想學習MFC卻無機會。

我是在網上搜索資料時找到您的網站的﹐看了您的《深入淺出》的頭幾章﹐覺得寫得好。人說三十以後不讀書﹐實在是口味變得很高﹐該讀的基礎書也讀過了﹐而市場上充斥的一些紙上印著字被稱作“書”的東西﹐實在提不起味口去看﹐有些還是平時喝酒扯淡的朋友寫的﹐他們的水平我是知道的﹐實在有點誤人子弟。

看了您的一些IT書籍的評論﹐覺得與我頗有相似之處。尤其是您的老友鍾先生寫的序﹐提到您身在理工﹐卻對文史愛好﹐我也是如此。其實我上中學時﹐一直是文科最好﹐作文常常滿分﹐因家父早逝﹐急于立命﹐正趕上“學好數理化﹐走遍天下都不怕”的年代﹐祇得學些易謀生的專業﹐但對文史的愛好﹐一直沒有減少過。說來慚愧﹐我本科學的是電腦專業﹐大陸叫計算機專業﹐
畢業的時候286才開始普及﹐所以後來對技術的更新總覺得吃力﹐尤其是WINDOWS狂潮以後﹐我們那時候用的C與C++的概念全變化了。想想現在的學生﹐真是幸福﹐可是十年之後﹐他們也不知道會怎樣呢。IT這行﹐如夸父逐日。

冒昧給您寫信﹐是因為看到了這本電子書《深入淺出MFC》前言裡提到下載者需要給作者寫有關資料。本來看到書名有些不以為然﹐因為現在書都喜歡用很醒目的標題﹐諸如“大全”之類﹐在這個潮流下﹐敢用“深入淺出”作書名﹐則作者功力應該不俗﹐所以抱了懷疑態度。

看了幾章以後﹐覺得果然名符其實﹐不知道這樣的作品您花了多少時間寫成﹖

除了以上這個問題﹐還有個問題想問一下﹐現在Microsoft出了Visual Studio.NET﹐我覺得整體效率有明顯提高﹐未來幾年(IT業只好稱幾年)會是個潮流﹐
您是否有打算寫C#和ASP.NET方面的書籍﹖有沒有願望在大陸出版﹖大陸科普出版界我也有些朋友﹐可代為週旋。

暫擱筆﹐祝先生全家愉快健康。

●侯捷回覆:究竟是雅愛文史又經歷練的人,文字不俗。

我大學畢業之時,IBM PC(8088)尚未出來。所以,年齡不是問題。您因為走到管理、領航的角色去了,才會沒時間掌握技術細節。
一旦我掌握了 C# 和 .NET,我就會將我的心得書寫出來。如果寫出來,自然希望愈多人看愈好。這些書大概不歸屬於「科普」,而是「計算機技術」類。感謝您的好意。



傳送日期: 2001年11月5日 PM 08:00
侯先生﹕
您好﹗我從您的網站上down了電子版的《MFC深入淺出》一書。謝謝您了。
我的個人資料如下﹕
居住省份﹕江蘇南京
對侯捷的建議﹕
我是一個計算機業余愛好者。想學一下VC++,朋友們都向我推薦您的書。我想﹐如果我不看您的這本書﹐一定會是個很大的遺憾。我現在尚無對你寫的書做自己的評價。但是我希望我能儘快進入VC的世界。成為象您一樣出色的計算機專家﹐我也有這個信心。
最後﹐衷心感激您為我們廣大的讀者帶來那麼好的一本書。謝謝您﹗

 


傳送日期: 2001年11月5日 PM 09:05
主旨: 侯捷老師請問一下
> 侯捷老師你好....
> 我在讀高三才在runpc裡看到老師的書評
> 就一直想看老師所推薦的幾本書
> 直到聯考後就立刻買了老師所譯的c++ primer來看
> 不過我看不太懂...可能因為我沒學過c...我
> 只上過一點vb...
> 所以想請問侯捷老師一點問題...
> 1.看c++ primer有c的基礎會比較好學嗎
> 如果會可不可以麻煩老師推薦一本可以在書店買到或在
> 圖書館借到的c的書籍..因為我實在看不懂有一些書在寫啥...都是在寫指令....
> 2.我現在就讀淡江大學資管系...聽說之前老師有在元智大學開課...
> 不知道現在還有嗎...我也想旁聽...不過不知聽老師的課要具備到什麼程度才不會聽的'霧煞煞'
> 下次希望老師也能來淡江演講一下 謝謝......
> 一個喜愛電腦的學生留

●侯捷回覆:C++ Primer 適合哪一種讀者?導讀和前言寫得很清楚,你也可以到侯捷網站上看看該書的「答客問」前幾篇。
我目前固定第二學期在元智開一門課。目前是Generic Programming and STL。需要什麼基礎?上侯捷網站的「課程」欄看看。

 

 

傳送日期: 2001年11月6日 AM 01:23
我來自大陸﹐上次問您“BBScompbook看板”的網址是什麼﹐非常感謝您在百忙之中告訴我。不過﹐您說的IP地址我早就試過﹐就是因為不行﹐我才會問您的。我又把您的文章仔細看了幾遍﹐試了幾天﹐終於還是搜索到了“BBScompbook看板”﹐上次浪費您一點時間﹐真是不好意思﹐再次向您表示謝意。

99年就從csdn知道了您﹐我也是愛書之人---恐怕我就是您所說的那種‘書痴’啦(哈哈~-^)﹐每本書我都包了皮子﹐看書前必先淨手﹐也很少在書上寫一個字﹐我看過的書就算翻過很多次也象新的一樣(是不是有點變態呀﹖~_@)。在探索的過程中﹐因為全是自學﹐走了很多彎路。所辛很愛看您的文章和您的書﹐也有可能少走了不少彎路吧﹐我會繼續在這條路上前行。

這次您來大陸﹐無法親耳聆聽您與大陸朋友交流程序人生﹐很是遺憾。今天看了您新寫的文章﹐不禁又想給您寫信﹐一些廢話﹐望諒。

看到您所說的黃老總﹐我想大陸朋友多會會然一笑﹐這種‘老總’在大陸實在太多了。大陸有些人愛當官﹐P大的小官都喜歡聽別人奉承﹐手下幾人幾十人都是‘老總’﹐一個企業幾個副手也都叫‘老總’﹐要是叫‘*副’﹐祇怕臉上掛不住吧。大陸的‘老總’﹐‘經理’怕有幾百萬﹐真正的大人物絕不會如此顯露的﹐所以您完全不用虛那位‘黃老總’的﹐碰到這種人可以當看耍戲的。

我是湖北人﹐周編難道沒有帶你去吃湖北的各種小吃嗎﹖湖北是有名的‘魚米之鄉’﹐比北京的本地小吃強多了(雖然北京的外地小吃很多﹐終歸味不正)﹐下次一定別放過了周編﹐哈哈。

另外﹐我覺得您來大陸也不一定全要講技術﹐什麼時候寫完了一本書想度假﹐可以到大陸來旅遊一段時間。五嶽、拉薩、三峽(再不看就沒有了)、蒙古、桂林、云南...可以看的地方太多了。‘江山如此多嬌’﹐也許對您理解人生哲理也很有幫助哩。

說了很多廢話﹐還是說點本行吧。我覺得《設計模式》之類的書就是研究類與類的關係﹐這個星球上沒有比人與人的關係更複雜的了﹐如果對人與人的關係有一定研究的話﹐那《設計模式》裡面類與類的關係豈不是小菜﹖所以我認為到一定程度後可以看看哲學書更有效﹐比如老毛的《矛盾論》《方法論》等等。

我的胡說八道﹐盡惹人笑﹐見諒了。

大陸讀者

●侯捷回覆:書的價值不在於它的新穎與乾淨。你這麼保護書,心得眉批怎麼辦?下次再看時是否又花很多時間去想一個你本來已經想通但沒有記下心得的問題?這太可惜了。我的書上寫滿各種符號,線條,箭頭,心得,為的是讓我下次快速回復目前的學習成果。雖然每個人的習慣都不相同,但我還是給你一個建議,對於書,不要太在乎它的新穎與乾淨。在上面留下你的學習足跡吧。

湖北小吃,周老師帶我吃了臭干子、豆皮、魚圓子…,其他名稱全忘了。

 

 

侯老師﹕
你好﹐我正在讀你的《Essential C++ 簡體中文版》﹐書很好。我在書中的 p121, L13,L22兩處發現對於函數 operator++ 的返回類型說明不一致﹐前者為 Triangular_iterator&, 後者為 Triangular_iterator。似乎前一個應該是錯的。
謝謝﹗ 2001.11.06

●侯捷回覆:都是對的。

 

 

傳送日期: 2001年11月6日 AM 11:02
侯先生﹕
你好﹐早聞你在計算機編程界赫赫有名﹐很想與你交流交流﹐但我水平有限﹐又怕耽
誤你的工作﹐所以一直沒有聯繫。
我是在大陸天津上學的一個學生﹐正在編一個涉及vxd的程序﹐現在出現了問題不能
解決。在這個程序中﹐vxd負責底層的採集數據、控制硬件﹐應用程序負責畫圖及其他數
據處理。我用的編程工具是VC6.0專業版。通過函數DeviceIoControl()進行應用程序與vx
d之間的通訊。現在問題是﹕使用debug調試時﹐程序沒有問題﹐能正常運行﹐但使用rele
ase編譯時﹐函數DeviceIoControl()總是返回0﹐不能運行﹐再有﹐debug調試後﹐在本機
能運行的程序﹐那到另一臺計算機上就可能不能運行﹐都是因為函數DeviceIoControl()
返回0造成的。
請問侯先生﹐只是什麼問題﹖希望你能在百忙之中為我解答。
衷心感謝﹗
住工作順利、萬事如意﹗

 

 

傳送日期: 2001年11月6日 PM 02:13
jjhou侯先生﹐您好﹗
我是一個有志于游戲事業的人﹐在大陸游戲事業並不被重視﹐這使我很痛苦。我是一個有
激情的計算機學生﹐但現實把激情打的粉碎。我實在是不知道應該如何做。我想請問在台灣是否重視游戲業﹖我也想知道您對於游戲業的看法。
另外我沒有關於游戲的資料﹐我現在正在學習WINDOWS2000下的DIRECTX8的編程﹐以及DIRECTX8SDK﹐但是我沒有關於游戲開發的詳盡資料﹐希望您能給我介紹一些。


  

 

傳送日期: 2001年11月6日 PM 02:48
侯捷先生: 你好

在 Essential C++ p.81
1.
對 it2 的說明不知是否有問題 ?
因為 it2 是根據 sval 所尋找到最後一個被刪除元素的位址
除非找不到 sval, it2 才為 slist.end()
2.
若找到 sval, 也必須保證 it1 是在 it2 之前, 才能刪除吧
而且即使 it2 在 it1 之後, 根據 erase 是刪除 [it1, it2)
內的資料,那 it2 所指到的值是否不會刪除 ?

一些小問題, 謝謝你撥空答覆

 

 

傳送日期: 2001年11月6日 PM 05:15
居住省份(臺灣讀者請寫縣市):台北
對侯捷的建議:
我在實驗室的時候, 無意間發現實驗室的電腦裡有您的文章, 還有網站的連結, 所以就到網站來看一看, 這才有機會看到這本電子書, <深入淺出MFC>, 之前因為修了C++的課, 課堂上雖然不教視窗程式設計或是MFC, 但是我自己對這方面非常有興趣, 很想買幾本書來自修, 同校資工系的同學大力推薦這本書, 但是幾次去書店的結果都無功而返, 稍微翻了翻其他中文相關書籍後, 讓我更覺氣餒, 今天幸運地在這裡找到電子書,
不過不知道是不是因為電子書開放的原因, 所以外面才買不到? 事實上, 您的作品在外面的書店中都不好找

這本書對我的幫助真的很大, 內容豐富, 文字洗鍊, 用詞精確, 不過因為我之前沒有任何視窗程式設計的經驗, 所以書中有些地方仍讓我覺得有點艱澀, 我在閱讀的時候, 常常會讓自己站在作者的角度想: 如果是由我來講述這個觀念, 或是這部分的程式, 我應該要如何解釋清楚? 想到這個地步, 就讓我真的非常佩服您寫作的細心和勇氣, 因為我認為要深入探討MFC核心的技術, 或要挖掘出黑箱中的程式碼並且解釋清楚, 是需要相當大的細心與勇氣的, 在書店一大片的中文電腦相關書籍中, 我實在認為您寫的最好, 當夜深人靜, 而我仍然埋首於書堆中時, 看到這本書, 想到這本書的作者, 便讓我覺得在程式設計領域的求學路上, 並不寂寞

●侯捷回覆:《深入淺出MFC》目前不好找到紙本,我想是因為出版社(松崗)本身的緣故。我對此也甚感失望。至於「您的作品在外面的書店中都不好找」,是真的嗎?這讓我很鬱悶 :) 應該不至於此。當然你得到專業電腦書店去找,7-11是不可能有的 :)

感謝你對我的讚美。

 

 

 

傳送日期: 1999年11月7日 PM 12:08
你好候先生(老師)﹕
真後悔沒有早一點到csdn﹐如果早一點看到你得著作我會少走許多彎路。您在大陸已出版的書籍﹐我已經全部買進^_^。哇﹐簡直太精彩了﹐我差點讀一個通宵。您真可愛﹐大陸的所有讀過您大作的人一定都和我一樣﹐忠心的感謝您﹐我們共同的先生(老師)。
我知道您一定很忙﹐所以已經托台灣的親屬購買您C++ Primer 3/e等等大陸買不到的書籍﹐現在最大的願望是早日看到您的大作。再次謝謝您。
再見 先生

 

 

Dear Mr. Hou

I'm very appreciated to writing to you, I've just download a group copies of the MFC books. They are very useful for me.
My name is Ray Gao.I'm doing PhD in EE course in UK.Programming is not only of my work but also of my life. I hope I can go to one of your lectures myself, it will be very instructive in my programing career.

Thank you very much!
Best Regards!

 

傳送日期: 2001年11月8日 AM 11:59
候老師,
您网站上的文章和書籍一直使我受益非淺。您在文章中常提到技術高手必有過人的資料整理功夫。我們學校功課不算太難,我總能在考試和作業中取得高分,但資料整理的功夫則近乎于零。現在想好好培養這門功夫,卻不知如何入手。不知老師能不能抽點寶貴時間,指點一下如何高效地整理資料?順便問一下,
資料整理對應的英文是什么?相信网上有不少好的相關指導,但我卻不知道搜索用的關鍵字。謝謝!

●侯捷回覆:你是個認真的小子,但是別太鑽牛角尖 :)。
資料整理就是資料整理,不是專業術語
;你肯定在網上查不到你要的東西。

 





傳送日期: 2001年11月8日 PM 04:20
主旨: 可否請問...
Hi 侯先生,
我有個問題想請問一下!在大學時我有在寫C語言。我離畢業到現在已六年了。
現在我想學C++, 不知該買哪本書。我怕買基礎的會太簡單,買進階的又太難?!
不知你可否給我一些建議嗎?
謝謝!

 


傳送日期: 2001年11月8日 PM 03:13
敬愛的侯老師﹕
您好。我是山東科技大學的一名學生﹐最近我正在拜讀您的大作﹕《深入淺出MFC 2》。您的書寫得真是太好了。我每天除了吃飯和睡覺就是看您的書﹐可以說是到了入迷的程度。沒有您的這本書﹐我不知道要經過多少週折才能對MFC入門。在這裡向您表示敬意﹗

我現在看到《深入淺出MFC》第9章﹐有一個問題想請教一下侯老師。
這一章講到COMMAND消息傳遞路徑時﹐有這樣一段代碼﹕
BOOL CFrameWnd::OnCmdMsg(UINT nID ... )
{
CView *pView=GetActiveView();
if(pView!=NULL && pView->OnCmdMsg(nID,nCode...)
  return TRUE;
......
if(CWnd::OnCmdMsg(nID...))
  return TRUE;
......
if(pApp!=NULL && pApp->OnCmdMsg(nID...)
  return TRUE;
......
return TRUE;
}

在執行 if(CWnd::OnCmdMsg(nID...))一行代碼時﹐由於CWnd並未改寫OnCmdMsg()這一虛函數﹐所以實際調用的是CCmdTarget::OnCmdMsg()如下﹕
BOOL CCmdTarget::OnCmdMsg(UINT nID……)
{
……
for(pMessageMap=GetMessageMap();pMessageMap!=NULL;
     pMessageMap=pMessageMap->pBaseMap)
{
lpEntry=AfxFindMessageEntry(pMessageMap->lpEntries,……);
……
}
return FALSE;
}

但是我心存疑慮的是這段代碼中的GetMessageMap()所得到的指向AFX_MSGMAP結構的指針到底是指向CFrameWnd的還是指向CCmdTarget的。若GetMessageMap()是一個虛函數則得到的肯定是CFramWnd的﹐但事實上GetMessageMap()好像並非是一個虛函數﹐這樣﹐得到的AFX_MSGMAP結構應該是CCmdTarget的。對於語句pView->OnCmdMsg(nID,nCode...)似乎也有同樣的命運。那麼就無法得到CframeWnd的AFX_MSGMAP結構了。系統也就無法響應發生于框架窗口的消息了(同理也無法響應發生于視圖CView的消息)﹖
我想代碼是肯定沒有錯的﹐我一定是在什麼地方有理解上的錯誤﹐特別是對於this指針和虛函數的了解還不夠﹐一併想請侯老師給我介紹幾本C++的書籍﹐能讓我知道C++各種機製的HOW、WHAT、WHY。
再次肯請侯老師能在百忙之中為我解答這一系列問題﹐謝謝﹗此致
    敬禮﹗

●侯捷回覆:你的問題將在《多型與虛擬》2e 的 MFCLite 3.0 中得到充份的解答。

 

 

傳送日期: 2001年11月9日 AM 09:43
侯老師﹕
您好﹗
我剛纔一份電子文檔上看到了您的EMAIL﹐就很冒昧的向您請教一些問題﹐希望能夠得到您的回應。我是一個寫程序方面的新手﹐主要從事MIS方面﹐使用的工具是DELPHI和PB。但當我看到您的關於DELPHI分佈式開發那本書的時候﹐發現很多關於COM﹐DCOM﹐COBRA
之類的概念無法理解﹐是不是需要一些其它關於這方面的基礎書籍呢。還有﹐我現在剛剛學習WINDOWS編程﹐發現看了之後對其它高級語言的編程也有很大的幫助﹐所以我的興趣很濃﹐但是我覺得大量有效的編程訓練是必要的﹐但是我不知道如何做﹐您的學習經驗相當的多﹐您有那些特殊的體會能分享嗎。
好了﹐就問到這﹐我不知道您能否收到這封信﹐也不知道您是否願意理會我這個程序員的新手﹐但我真切盼望您的回應。

 

 

傳送日期: 2001年11月9日 PM 02:14
居住省份 ﹕北京
對侯捷的建議﹕看了您寫的一些文章﹐對您的學問和人品很是佩服﹐尤是人品。我總認為﹐人品是第一位的﹐學問才是第二位。胸懷眾人的教育﹐事事講求對別人的貢獻和貢獻度的人﹐真偉大﹗

 

 

傳送日期: 2001年11月9日 PM 07:26
侯捷先生﹕
你好啊﹗《深入淺出MFC 第二版》我看了一段的時間﹐覺得相當的不錯啊﹐使我對於MFC的內部的結構和運行有了相當的了解﹐真是很感謝你的書﹗
但是﹐在自己寫代碼的時候還是出現了比較多的問題﹐實在是沒有辦法解決啊﹐下面是我的問題﹐希望能夠給以幫助啊﹗感謝不盡了﹗﹗
我定義了﹕
WNDCLASS wc;
在賦值的時候﹐其中的﹕
wc.hbrBackground = GetStockObject(WHITE_BRUSH);
出現了﹕ error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
不知道使什麼的意思﹖如何解決呢﹖
謝謝了﹗


傳送日期: 2001年11月9日 PM 07:42
Dear Sir:
不久前剛給您去信﹐現在又來了﹐給您添麻煩了﹗
這次有兩個問題請教先生﹕
1 我一直在學MNIX系統(LINUX的前身)的原始代碼﹐其實我最想了解的是操作系統是如何安裝在啟動扇區、操作系統啟動PC的細節及如何實現之﹐請問有這方面的著作嗎(最好是您寫的)﹐您能給予些指導嗎(如何去學)﹖
2 是否學會了MFC和VC﹐就是一個合格WINDOWS程序員了﹐還有哪些需要深入學習的內容﹐最好請先生將整個知識體系及學習途徑介紹一下。
3 我很想聽聽先生對.NET平臺和MFC的一些高論,以及他們今後會怎樣發展.

 

傳送日期: 2001年11月10日 AM 11:14
侯先生﹕
今天在您的網站上下載了《深入淺出MFC》的電子版及源代碼﹐不勝感謝。
前幾天為我弟弟買了一本《Essential C++》,希望好的入門教材能給他帶來更順利的工程師之路。
兩年以來﹐我個人的工作重心已經由windows平臺轉移到unix﹐由C++轉向java。現在回頭看這些當年錯過的書﹐心情頗有點複雜﹕)
希望能早日看到您關於.net和C#的大作。不會再有《C++ Primer》的遺憾
祝健康

 

傳送日期: 2001年11月10日 PM 06:21
侯老師:您好!
我是大陸一名VC++愛好者,剛剛入門學習VC,C++都比較熟悉了,您的<<深入淺出MFC>>我買了,覺得MFC那麼多內容,很難有一個頭緒,您能不能告訴我應該怎麼去學MFC呢?學MFC的步驟該怎麼做?還有怎麼系統的學習VC呢?我真的很迷茫,不過我想好好學習C/C++,做中國偉大的程序員,為華人軟件做最大的努力!
能不能用您的經驗告訴我呢? 麻煩您了!


 

傳送日期: 2001年11月11日 AM 12:10
寫信的時候﹐愛機正在下載您的《深入淺出MFC》﹐首次給您寫信﹐不知您哪個地址jjhou@jjhou.com 和jjhou@ccca.nctu.edu.tw 好收信﹐於是都發送了﹐如果因為重複﹐造成您的不便﹐敬請原諒。
我還是先將我的情況附下﹕
居住省份(台灣讀者請寫縣市)﹕ 四川成都

第一次和我仰慕的老師寫信﹐很激動﹐如過於羅嗦﹐見諒。

1995年﹐進校就讀應用電子專業﹐專科三年﹐剛開始很愛計算機﹐愛C﹐想做一個程序員﹐曾用C寫過一些圖形界面的自我介紹等。大二由於始終沒意識到轉WIN95的重要性﹐加上迷上游戲和足球﹐程序方面荒廢不少﹐甚憾﹐大三﹐畢業設計用VFP趕了一個學生學籍管理系統出來。就此﹐結業。
工作第一年﹐在國有企業﹐急功近利﹐用RAD工具快速開發管理系統﹐沒深入學習﹐當試學VC++時﹐難﹐放棄﹐憾。
工作第二、三年﹐辭職打工﹐從計算機維護做起﹐但心中始終不忘做一個程序員的夢。一步一步﹐職位高昇﹐現在做linux的系統維護和後台COBOL程式的維護開發。始終有ぴ終愛C/C++的夢。於是在工作之余﹐在晚上自修﹐雖然很苦﹐但我願意。
志嚮﹕unix/linux﹐c/c++﹐tcp/ip﹐socket編程......因為工作的原因﹐暫沒精力在WIN上拼殺了。

在《程序員》和http://www.csdn.net上熟悉和了解了您﹐對您的文章和為人很是佩服﹐也激發起我學習C++的極大勇氣和動力﹐在這點上﹐非常感謝您﹗(雖然目前我不在WIN上開發﹐用不到MFC﹐但我還是想先down先來收藏再說。^_^)您在大陸出版的那幾本簡體書﹐我準備在發工資後﹐一起買下。好好﹐拜讀﹐體會。

技術上的問題﹐現在還不知道問什麼﹐以後我想一定會有的﹐現問幾個其他的問題﹐不奢望老師作答。
1、我一直很困惑學習如C/C++語言的語法、語義時﹐如何同應用編程中的實際相結合﹖(原諒我以前的程序大多都是用RAD工具進行的管理類系統開發。)
2、像我目前的樣子﹐操作系統、數據結構和算法、英語等基礎知識﹐我應該先補什麼﹖
3、看書的話﹐細細掌握(但太慢﹐而且好書太多)重要還是快速看書(理解不深﹐又常常需反復)重要﹖還是兼而有知﹐很想聽聽您的見解。(當然您多半沒空﹐我會自己去體會的)
4、網上都評價《Thking in C++》的中文版《C++編程思想》翻譯的很爛﹐不幸我買了一本中文版﹐還沒看多少﹐不知您覺得像我目前的情況適合看它嗎﹖
再次重申不奢望您的回復﹐因為知道您很忙﹐問這些只是我想到了﹐除于對您的佩服和景仰﹐像對自己喜愛的老師一樣﹐於是就將它們問了出來。

細細回想我走過的路﹐後悔遺憾常湧上心頭﹐但多看了您的文章後﹐尤其是最近的“程序人生”﹐我很有感觸﹐我願意從現在做起﹐從頭再來。

興趣---》堅持---》多看好書---》思考---》筆錄+動手---》整理---》沉澱---》自信---》興趣---》堅持

多年以來﹐每每下定決心﹐都沒能堅持﹐均因為沒遵循上面的準則﹐一一失敗。這一次﹐我不會再放棄﹐我會以您的教誨自勉。

最後﹐再次感謝您的文章和原諒我的羅嗦。
另﹕您的《深入淺出MFC》剛下載完﹐有空一定細細拜讀。目前﹐我將先主攻您譯的《Essential C++》簡體中文版為主。

 

 

傳送日期: 2001年11月11日 AM 01:35
侯老師您好
我正看您的書我是幸運者 初學MFC就遇到了您的書
我近一段時間手不釋卷 甚是暢然 我是那種興趣是主要推動力的學生 但今天突然意識到 明年要畢業了 工作是個問題 市場變化很快 我的專業是 土木 很不景氣 我決定 進入IT 行業 可是我學什麼軟件呢﹖ 我感到了慌亂 微軟的。net 系列來到的很快 我 淺薄的還不知道MFC能 作什麼 我不懂它的實際應用 就是說 我知道MFC是好箭好箭 而且 正在學習它 可不知道它 能讓我射向什麼靶子 我能用它作什麼呢 ﹖

我真心希望它依然強大 我確實喜歡它 我為我的C 和C++語言的小小程序的成功而驕傲 因之 特別喜歡 C 系列的東西 沒有人能幫助我 我的同學中要跳槽的人不多 跳槽的人中 選擇IT 行業的人有但選VC 的人不多 我們都很嫩 現在大陸上您的四本書我都有了 包括你介紹的另外6本書 都和磚差不多 共用了500多元 我真是咬咬牙下了狠心的 因我的濟濟基礎很薄。

我本來還很堅定的 我打算學MFC 開始 看完這本《深入淺出MFC》然後繼續看另外三本書 然後是您在您的網站上介紹的6本書我知道我要想明年畢業前看完並基本掌握 我必須拼命的看 可 今天我的一個同學告訴我 這樣子不行 要像網絡靠攏才行 舉了很多例子 我不安的問他 MFC可以編網絡方面的什麼東西 他說不清 但肯定的告訴我MFC 不如COM(這名詞我只知其名)好而用COM 呢VC 不如VB 方便 而VB 有不如VC 強大還談什麼接口 聽的我欲來欲亂 我乾脆問MFC有前途嗎 還有VC 。。。沒有結果只是把我搞的六神無主 他看書很快 而且什麼都涉獵什麼LINUX UNIX MAPINFO VB VC PHP HTML JAVA C# SQL PHTOSHOP 等等 我一本書沒看完他已經看了3 到4 本了 我VC 還沒學好 他已經幾個領域涉足了 他知道的名詞也特別多
有句話叫沒必要比老虎跑的快只要比別人跑的快就行
我今天上網強力搜索 IT 咨詢我想看看MFC的 前景和實際應用 想知道它在關於網絡這方面的 用途 還想知道我這種反映慢但思路自認為還算周密適的人適合編軟件否 跟的上IT的飛速發展否
我忙了一晚上 到現在也沒收到令我滿意的答案 反倒更讓我驚訝的是那麼多消息和 發展勢頭我都不知道 我又想起了您 仿彿孫悟空撬倒了人參果無計可施時想到他的老師一樣 現在我好理解他的墜墜不安翹首期盼的心情

我很早就想給您通信 表示感謝 和景仰之情 (不錯您的為人 和您的作品給我很高質量的精神食糧和學習的幫助 )但每每考慮到您的時間寶貴 您的時間不僅僅屬於您 還屬於千千萬萬的IT 咨詢行業中的求學者( 您是我們這一代信仰貧乏者的精神榜樣 我從您的作品中文章中學到很多東西)便沒有通信。最舒服的事就是晚飯後邊喝水邊看您的散文和書評了。

我沒想到我第一封信 會以這種帶ぴ迷茫的問號打擾您 也沒想到寫這麼長

當然不管世界怎樣翻覆 編程的創造的快樂 結果 出現的瞬間的 成就感以及我對C C++ VCMFC 的酷愛 會讓我繼續讀下去 因為我喜歡 這足夠了 它即使沒前途 被淘汰 它在我這裡還有市場 因我喜歡它

我很抱歉 要佔用您的時間來處理我一個微不足道的人的事 但我想我的事可能是一個普遍的現象 (這如果是真的那還稍稍讓我有所慰籍)

我很睏了語無倫次 讓您笑話我了
能得到您的指點迷津 是我的期待
不佔用時間和精力處理數不清的我這樣的沒什麼大事的讀者來信 我也理解
請注意您的身體 為了您自己 為了我們 為了您的事業 我們需要您長久的健康和幸福 生命中真的遇到了您這樣的真人是我幸福 我知足了
好不羅嗦了



傳送日期: 2001年11月11日 AM 03:37
主旨: 請問科技翻譯的常見問題

最近買了您譯的c++ primer ,相當喜歡。
網頁上"科技翻譯的常見問題" 一文,
不知何時才會出現?

對於科技翻譯,有幾個疑問也想請教:
1、科技翻譯有標準流程嗎?怎樣的流程才會是最快的,又能達到信,雅,達的地步?又能讓更新,勘誤好進行。
2、如何取得國外原文書的版權?付給國外的版權費大約是書價的多少?
3、取得國外的版權後,國外的原公司會給原文書的電子檔嗎?或者還有那些參考文件?
4、有什麼方便的軟體幫助翻譯嗎?您如何確定一個原文專有名詞,您不會在翻譯時用了兩個常見的中文翻譯?

謝謝您的回答。

●侯捷回覆:

1. 我個人沒有什麼標準流程。當然工作經驗是有的,可以累積的。信雅達全靠譯者的實力。欲讓勘誤順暢進行,主要靠internet,然後需要出版社的支援,願意在新刷時修改紙版。
2. 取得翻譯權是出版社的事,我不知道。
3.
國外的原公司會給原文書的電子檔嗎?不知道會不會主動給。但本地出版社應該爭取。我的情況是,如果拿不到原文書電子檔,我就不接受翻譯工作。因為原文書電子檔對翻譯進度可帶來極大幫助。我不想把個人的時間花在無謂的浪費上面。
4. 目前所有翻譯軟體都表現不好。自動翻譯的日子還很遠。這是人工智慧範疇。我確定術語的方式是:我在業界,清楚大家會怎麼使用某個術語,於是我用它(可能保留原文術語,也可能譯為中文)。
Q: 您不會在翻譯時用了兩個常見的中文翻譯?
A: 有可能,視context而定,例如對於overloading,有時候我會說「多載化」,有時候我會說「重載」。


 

傳送日期: 2001年11月11日 PM 01:57
候捷老師,您好:
我是您此書的一名讀者
因為我現在剛剛接觸編程,所以直到現在才看到您的這本好書.
我是通過CSDN的程序員大本營2000光盤上才得到您的這本書的,我覺得內容相當不錯,只是第一章裡的理論知識剛開始時有點難以接受.
不過我現在用的是VC++6.0,不知道是否和VC++5.0的有何出入?我也不太清楚它的MFC版本是否有變,<深入淺出MFC>是否能適應于VC++6?
我已經裝有VC++.NET版了,不過現在難得見到關於VC.NET的好書,所以還是打算從VC6學起.希望以後能繼續看到候老師您寫出的精彩好書.
以下是我的個人資料:
地址: 江西省




傳送日期: 2001年11月12日 PM 04:22
主旨: 你好。感謝你的書。
jjhou,您好!
我從csdn.net上看您網站,從字里行間能夠體會一位台灣學者的苦衷。我是一位網絡工程師,因為工作需要,我需要掌握C/C++,我非常想買一本《C++ primer/3e》,可是始終沒有完夢。上周五(2001年11月9日)我從CSDN.net的總部買了一套您的翻譯版,我已經非常滿足。我不想希望您什麼,只是衷心的祝福您身體健康。

●侯捷回覆:苦衷?

 

 

傳送日期: 2001年11月12日 PM 07:36
侯老師﹕
大陸之行沒有見到您真遺憾﹐因為我在秦皇島這個小城市﹐不過您在海淀書城時﹐我也差點趕上。您知道嗎﹐我們小城市的人比那些大城市的更知道學習的來之不易﹐儘管我們咨詢少﹐但是我們還是很上進的去學習。
祝您身體健康﹗

 

 

傳送日期: 2001年11月12日 PM 08:09
主旨: Problem in C++ Primer 3/e (2001修訂本)

> 侯老師你好
> 拜讀了貴大作發現一個疑似有問題的地方想像您請教:
>
> P104.L23: 我也可以定義一個常數指標,指向常數或非常數object。例如:
>
> ^^^^
> 如果單純的常數指標(如int *const i;)可以指向常數object的話,那因為i不是常數物
> 件,不就說明了可以更改其指到的內容!?在使用Microsoft .NET Beta2和GNU C-2.95.3
> 測試,在編譯時即會出現error(gcc居然只是個warning),但還是很懷疑是不是我的觀
> 念錯誤所致!?特此請教,測試程式如下:
>
> [test.cpp]
>
> int main(void)
> {
> const int ic = -1;
> int *const pic = &ic; // error!!
> }
> --
> .NET b2: error C2440: 'initializing' : cannot convert from 'const int *__w64
> ' to 'int *const '
> gcc: warning: initialization discards qualifiers from pointer target type
>
> 另外同樣也是const的問題,假設上列的ic是非常數,在*pic++時,gcc出現warning:
> increment of read-only variable `pic'
> 但是.NET沒有出現error,但編譯出來的結果印出來驗證++ operator並未生效(*pic
> == -1),另我有點混亂了 @@
>
> 最後,關於104問題在網站上的勘誤並無發現,故特此請教
> 謝謝抽空回答

 

 

傳送日期: 2001年11月13日 PM 04:55
侯先生:
你好﹐我在
thinking-in-java-20010919.pdf的235頁﹐中發現了一個小錯誤﹕
f( new Object[]
new Integer(47), new VarArgs(),
new Float(3.14), new Double(11.11) } );
應改為﹕
f( new Object[] { // 此處少一 {
new Integer(47), new VarArgs(),
new Float(3.14), new Double(11.11) } );

再次感謝翻譯這樣一本好書﹐並供大家免費下載、閱讀。
你的一位讀者

●侯捷回覆:謝謝。關於 " { " DOC 檔中是有的,轉為PDF時漏了。正式出版時應該不會有問題。

 

 

傳送日期: 2001年11月13日 PM 05:30
主旨: MFC 問題求解

侯先生你好:
一個很簡單又很難的問題詢問, 我寫程式已經有 10 年了, 以往都是寫dos c以及 window sdk 程式 ,也自認能力還不錯,但每次想要學mfc卻都無重下手,市面上有名的mfc書籍我大概都有翻過,每一個功能我也都會, 但卻不知要如何把他們合在一起,有無重下手的感覺,可否介紹一本書給我萬分感謝




傳送日期: 2001年11月13日 PM 11:50
主旨: 請問侯老師關於C/C++與Java
老師您好:
常見到有關C/C++與Java間的評比分析,我本身是C的愛好者,從事資訊業愈久卻愈是迷惑了...平心而論,C及Java各有千秋,在Java未出現前,C可是程設界的龍頭,具彈性且功能強大;但在Java問世後卻變的有點一無是處了...
所謂Java是改良後的C/C++,拿掉了會造成未知bug的pointer,改掉記憶體配置機制,其platform independence更是最最迷人之處...,看起來似乎是Java獲勝了,但C/C++仍可見其蹤影,如Linux不正是C加上少數組合語言而成的嗎?而Java的tool亦隨處可見,如JSP,JDK,似乎和Java扯上關係的便成了炙手可熱的明日之星.而C的路線之爭尚未有定論,VC++ v.s. BCB...C#與Java的戰爭又將爆發,想請老師給我一些指導,好讓我能更悠遊其中,萬分感謝!

 

 

 

傳送日期: 2001年11月14日 AM 02:02
候老師﹕您好﹗
請讓我這樣尊稱您﹐以表我對您的敬意。我現在不過只是個VC++的愛好者和初學者﹐很想在入門的時候就樹立正確的觀念和打好扎實的基礎。於是我請教清華大學的同學﹐他們一致推薦您的《深入淺出MFC(第二版)》。我深深為之傾倒﹐眾多清華學子的選擇還會有錯嗎﹖當我正準備購買的時候﹐恰好搜索到您的個人網站﹗多麼幸運呀﹗所以我現在正迫不及待的下載您的大作﹐想先睹為快。我想我還是會去購買您的書的﹐這是對您的尊敬和支持。
居住省份(台灣讀者請寫縣市)﹕重慶市
對侯捷的建議﹕真心期盼您不斷有新作問世﹐以饗廣大讀者﹗

 

傳送日期: 2001年11月14日 AM 03:59
主旨: 關於您的大作
您好:
拜讀你的大作--C++ Primer中文版之後,有一種遇到知己的感覺
對於你的翻譯理念我覺得相當的贊同。
目前我仍是個學生,教授指定的書籍多是原文的
無奈英文程度實在不夠好,基於閱讀速度的考量,還是會去找中譯本來參考。
但相當令人灰心的是,中譯本大多是原句照翻,多數翻得很差。
既不「信」亦不「雅」,更不用說「達」了~~~~~
以致常常遇到一些句子,有些每個中文字都懂,但是卻不了解其所要傳達的理念
感覺上比英文還難^^
所以,遇到這種情形還是要回去查原文的書籍,對於閱讀的速度實在沒什麼幫助。
於是我曾發下大願,將來要是我有機會翻譯一本書籍,一定會有不同的作法。

想不到,我的想法已經有人想到,而且去付諸實行了。這實在是件令人高興的事!

 

傳送日期: 2001年11月14日 AM 12:00
您好﹗
我是大陸的學生,學習vc不久,唯一的感覺就是難而且複雜,經過朋友推薦我買了《深入淺出mfc》問侯老師是不是你這本書中第三章的仿真程序是不是必須用命令行式連接
例如第一例frame1﹐書中是這樣寫的﹕
frame1的命令行編譯鏈接操作是cl my.cpp mfc.cpp <enter>
能不能在vc中直接鏈接呢?如果能,怎麼辦呢?
企盼您的指導!!!!!!

 

傳送日期: 2001年11月14日 PM 05:04
我是你的一名讀者﹐對先生您的書覺得愛不釋手﹐但在下頭腦不是很好﹐未能領悟許多﹐但帶給在下的益處是無窮的﹐在下對您感激不盡。忠心的希望您多出些好書﹗﹗

 

傳送日期: 2001年11月14日 PM 07:21
尊敬的侯先生:
拜讀了您的扛鼎之作<<深入淺出MFC>>,如沐春風。
現有一個小疑惑﹐向您討教如下﹕
我在MainFrm.cpp內作下列操作

CDocument* pDoc;
pDoc=GetActiveDocument();

不能得到CDocument的指針﹐返回值為0。在ChildFrm.cpp內操作同樣不行。
請問究竟何謂ActiveDocument,如何才能在MainFrm.cpp內得到CDocument的指針﹖
如在百忙中不吝賜教﹐甚感誠惶誠恐。


 

傳送日期: 2001年11月15日 PM 05:26
居住省份(台灣讀者請寫縣市)﹕中國。上海
對侯捷的建議﹕寫的很好的一本書﹐雖然我現在只看到了前兩部份﹐只是現在沒有機會學VC++﹐前半年看完了c++, 由於工作的原因現在只能做PRO *C﹐ORACLE 、C的東西﹐我們公司的網址www.proicq.com 希望以後先生能不吝賜教﹐也希望有一天可以聽到你的演講﹐在上海。順祝工作愉快﹐身體健康

 

 

傳送日期: 2001年11月16日 AM 12:08

我發現你的網站很好。對我的幫助很大。在這里給你提一點小的建議,請不要生氣。

第一,你的網頁字體在我的計算機上有相當大,相當于我用網頁的14號字。就計算機屏幕上字體而言,一般來說在西方國家字體以8號為佳,東方雙字節國家字體以9號為佳。中文字體9號和14號都比較好,但是14號字體太大,最好用作標題。我在軟件開發中都是這麼做的。建議修改方法:可以在<head></head>中間任何位置加入以下代碼。
<style type="text/css">
<!--
body { font-size: 9pt; line-height: 15pt}
table { font-size: 9pt; line-height: 15pt}
-->
</style>
然后字體就變為9號字了。line-height 是每一行之間的距離。

第二,
qa-cpp-primer-27.txt文件(C++ Primer 答客問 (27) 【標準與實作之間】PC 環境上三種編譯器對 C++ Standard 的支援)中,你寫了
class Panda : public Bear,
                    public Raccoon {
public:
  Panda( string name, bool onExhibit
=true );
  // ...
};

Panda::Panda( string name, bool onExhibit
=true )
  : ZooAnimal( name, onExhibit, "Panda" ), // <<-- note
    Bear( name, onExhibit ),
    Raccoon( name, onExhibit ),
    _sleeping( false )
{}

我認為是程序本身錯誤,應該寫成

class Panda : public Bear,
                     public Raccoon {
public:
  Panda( string name, bool onExhibit
=true ); // <<--這里有 " = true "
  // ...

protected:
  bool _sleeping;
  // ...
};

Panda::Panda( string name, bool onExhibit)
  : ZooAnimal( name, onExhibit, "Panda" ), // <<-- 這里不該有 " = true "
    Bear( name, onExhibit ),
    Raccoon( name, onExhibit ),
    _sleeping( false )
{}

或者declare 和 define 寫在一起

class Panda : public Bear,
                     public Raccoon {
public:
  Panda( string name, bool onExhibit=true )
    : ZooAnimal( name, onExhibit, "Panda" ),
      Bear( name, onExhibit ),
      Raccoon( name, onExhibit ),
      _sleeping( false )
  {}
  // ...
};

這兩種寫法都能在 VC6 中 OK。

●侯捷回覆:的確,正如你所言。我已修正 qa-cpp-primer-27.txt文件(C++ Primer 答客問 (27) 【標準與實作之間】,非常感謝您。

我對網頁設計非常外行。侯捷網站的 look and feel 皆以我的電腦所呈現的觀感為調整依據。在我的 1024*768 螢幕上,我自己看起來滿舒服的 :)。謝謝你。

 

 

 

傳送日期: 2001年11月16日 PM 12:35
主旨: serious error in Inside The C++ Object Model (Simplified Chinese version)

《深度探索C++對象模型》簡體版P263中部的程序片斷完全錯誤﹕
for(int ix=0;ix<elem_count;++ix)
{
Point3d*p=&((Point3d*)ptr)[ix];
delete p;
}
應改為﹕
for(int ix=1;ix<elem_count;++ix)
{
Point*p=&((Point3d*)ptr)[ix];
p->~Point();
}
delete ptr;
很遺憾﹐Lippman犯了n個錯誤﹐而您犯了n+1個錯誤。而且這本書還有許多值得斟酌的地方﹐可能是這本書太厚重了。
如果您願意就該書的其他問題與我討論﹐恐怕要改變“讀者來函無法一一回覆﹐亦不回覆至個人”的習慣。
我很早就發現了該錯誤﹐但是前兩天在網上看勘誤表﹐卻都是些無關痛癢的問題﹐沒有一個實質性問題﹐這才給您寫信。
如果您已經發現了﹐我認為仍然有必要回信﹐我還可以告訴您其它的實質性問題。您能看到簡體中文嗎﹖

 


 

傳送日期: 2001年11月16日 PM 03:30
hi, Mr.jjhou:
我是大陸上海交大的讀者﹐對您的書很有興趣。前段時間翻看Dissecting MFC 2e, 發現一處似有疑問。

在簡體版的301(MFC程序生死因果)頁裡﹐寫到lCount在鼠標消息得到時會置零﹐其實並非完全這樣。
我用MFC做了實驗﹐發現在程序的Frame的範圍內的確置0了﹐然而當把MOUSE移到DESKTOP上後再做移動動作﹐則不會置0。(此時不要最大化MFC實驗程序)。我想JEFF可能指的就是這個把。然而是不是所有位於Frame外的消息都不影響iCount呢﹐再將MOUSE移到右下腳的時鐘處﹐當TIP彈出時iCount被置0了。
因此鼠標在程序Frame內做的動作所引發的消息與在Frame外的是否有所不同﹖(我想是的)

提出這一問題﹗望您斟酌解答。



傳送日期: 2001年11月16日 PM 08:55
侯老師你好:
我是一名大2的學生,我剛剛看過<<Effective C++ >>和<<Essential C++ >>,不過我覺得自己實踐太少,我不知通過什麼方式提高自己?
還有我是不是可以學習MFC?還是應該先看API?
我不知道學習C++應該到什麼程度?
C++對以後有幫助嗎?
我是應該再學習C++還是應該往高階學?
請幫幫我!非常感謝你

 

 

傳送日期: 2001年11月16日 PM 09:14
敬愛的侯老師:
不多浪費您的時間,晚輩開門見山﹒
本人是祖國大陸某大學一名在研究所讀書的研究生,已經決定將程序設計作為謀生立命的手段之一,眾所週知,走這條路需要投入大量精力與時間,不知要犧牲我多少hobby,對此,晚輩一直心有餘悸.
從您的言行與著作可以看出,您的文史造詣極深,而興趣愛好與探究學問是有許多矛盾的(當然也不乏從hobby中尋找靈感),時間是最不留情的前提之一,不知您在讀研究所期間是如何的時間表呢?

 

傳送日期: 2001年11月17日 AM 08:47
侯老師﹕您好﹐
我是□□,我是您在福建的一個忠實讀者。前一陣子﹐我在網上拜讀了您的巨著深入淺出MFC﹐但現在我聽說已有正式的書﹐在大陸發行﹐我想知道這本書與您在網上發表的有沒什麼不同。

 

 

 

傳送日期: 2001年11月17日 PM 04:34
侯捷老師﹕
我自98年學習大三大四學習VC﹐編了一些程序﹐但對VC中很多問題都不了解。後來因為工作
對VC中斷了一年﹐今年看到你的《深入淺出MFC》﹐驚嘆不已﹐其中講到的很多地方就是我當初百思不得其解的問題。於是有燃起了我學習VC的熱情﹐不過都是在工作至於。目前有些問題請教﹕
1)如何才能更深入的理解和學習VC﹐使自己成為高手﹖
2)網上有哪些比較好的VC論壇之類的站點﹐最好這些站點有很多的高手上去﹖
多謝﹗
祝工作順利﹗
大陸 深圳

 



傳送日期: 2001年11月18日 PM 12:18
尊敬的侯老師﹕你好﹗
我是西安交通大學的研究生﹐您《深入淺出MFC》的讀者。讀您的書感覺很親切﹐您的這種寫作風格很好﹗
我是Windows編程的初學者﹐目前在看您的《深入淺出MFC》和Jeffrey Richter的《Advanced Windows》﹐但由於這是Windows編程的兩個不同的方向﹐請問﹕目前是否有必要選定一個方向﹖若選定Windows API programming ﹐那以後大致需要具備那些知識﹐應該看那些書籍﹐希望您能推薦一下﹗
謝謝﹗﹗




 

傳送日期: 2001年11月18日 PM 07:39
主旨: about
Thinking in Java 2/e繁體版 錯別字
侯先生您好,
最近小弟在研讀Java語言,上了許多Java課程,購買了許多Java的書籍,但只因資質不佳,總是無法了解Java的入門之道,直到看到原文Thinking in Java一書,但因語言的障礙,以致閱讀、學習速度緩慢,後來聽朋友介紹有繁體版本,於是找到侯先生與王先生的翻譯的作品,看完您提供的前面七個章節之後,令小弟對於Java及OO的一些觀念,有豁然開朗的感覺,殷切的期盼您翻譯的其他章節能夠儘快的提供給國內讀者,造福學習Java的國人!

小弟拜讀過程發現文章中有幾處疑惑,不知是誤植,亦是小弟資質不佳,無法辨識正確或錯誤,特提出請侯先生與王先生,作為參考,小弟若有誤解文章內容之處
,敬請兩位大師見諒!

1. 第13頁  第一章 第八行 (constructors)  誤植為 (constrtuctors) 也就是第七個字母多了一個 " t " 。
2. 第259頁 IceCream.java程式碼 第六行 static Sundae makeASundae( ) 最後應該要加一個 " { " 。
3. 第259頁 最下面倒數第二行的 (default ctor) 應該是 (default constructors) 。
4. 第283頁 "保證適當清理"此一節的第一段文章的最後一行 " 無須明白加以摧毀。"  , 小弟閱讀至此 , 揣摩這句話的意義 , 可能是因為 Java 有garbage collection的機制能夠讓object在適當的時機被回收,所以客端程式員不需要實際的寫一段程式碼來進行摧毀物件的動作,事實上可能Java也做不到讓客端程式員去做這件事情,這句話若是小弟所解讀的意思的話,小弟會建議在文句變動最小的情況下,將此句改成 " 無需了解如何加以摧毀 " 或 改成 " 無需明白的加以摧毀 " 。

小弟提出之淺見,期望兩位譯者不令指正!也希望能夠見到第七章以後的章節的繁體版!

小弟發現另一個漏字的地方:
1. 第338頁  程式碼第九行 void draw ( )  後面漏了一個 " { " 。

●侯捷回覆: 謝謝。關於 " { " ,DOC 檔中是有的,轉為PDF時漏了。正式出版時應該不會有問題。

 

 

傳送日期: 2001年11月18日 PM 03:39
主旨: 訂購 <Windows 95 系統程式設計-虛擬機器與 VxD 程式設計> 1本,謝謝!!
侯先生您好,小弟久仰侯先生的大名,想不到有機會寫信給閣下,筆下不免徨恐,借用這難得的訂書機會,向侯先生致意, 小弟說不上是侯先生的忠實讀者,只買過侯先生幾本大作, 但皆珍而重之, 一看再看, 最近因工作需要, 要找 vxd 的書, 卻發現到處皆找不到, 偶然之下, 在侯先生的 website 看到 <VxD書訊> 之公告, 真有眾裡尋他燈火闌珊之感, 在此先謝過侯先生的幫助, 也希望侯先生繼續努力(但也請保重身體,此更為讀者之福),為大家寫出更多好書, 好書是不會寂寞的. 下面是小弟的個人資料, 謝謝 !!



 

侯先生﹕
首先非常欽佩你的慷慨、無私、樂于助人的奉獻精神。
我是一個Vc愛好者﹐剛從你的站點下載了一份深入淺出MFC資料。現作一個自我介紹﹕
居住省份﹕湖北省
對侯捷的建議﹕多出書、出好書﹔以正義感悟天下華人。
最後﹐祝你保重身體﹗
湖北 荊州 2001.11.19




侯捷老師:
你好,我先解釋一下我自己:
居住省份:江蘇鎮江
我對編程學非常感興趣,特別對算法,因為我從小喜歡數學,但是我對編程又不是很了解,我只對算法感興趣,我 不介意用任何一門語言!
我希望能夠有侯捷老師這樣的編程高手幫助我!



侯捷﹕您好﹗
大概一個月前﹐我開始拜讀你的一本book:《深入淺出MFC》﹐現在已經看了大概1/4收穫很大。
我今年剛剛從學校畢業﹐學的是計算機專業現在在一家小的軟件公司用FOXFRO編了個小的程序然後給用戶使用。但我以前學過一點C++﹐現在正準備拿起來。希望能從你這裡重新拿起來。
有一問題﹕如何在console mode 中編譯C/C++程序﹐你的網站上已有介紹。我已看過。
但每當我將SET 設置後從新啟動後﹐路徑PATH還是沒變。
另﹐我買的Microsoft Visual Studio是盜版的﹐用起來不爽.但不知道正版的價格和渠道如何﹖不知能否指點﹖ 不勝感激﹗




候老師﹕
您好﹐一次偶然的機會﹐我進入到您的網站﹐我很感振動.....
我是一個迷途的青年﹐現年20歲﹐是一個中專的學生﹐自知我的學歷低所以我很發奮。參加工作差不多已一年我﹐經過自己的不斷努力學習﹐使得從一進來公司時從事網頁設計的我﹐變成現在的程式設計師﹐我知我的努力﹐還是用得對地方的。
但是面對將來﹐我就感到迷惑了﹐在公司﹐我是負責網頁程式和數據庫方面的開發。現時所撐握的知識如﹕HTML,PHP,MySQL,JavaScript,XML等等﹐只是能免強應付web程式方面開發的工作﹐加上現在網站的不景氣....所以我對將來很擔心﹐不知會否給社會所淘汰,希望候老師能指點一條明路﹐我應該怎麼走﹐是不是應該從事軟件開發方面的學習﹐但我的知識有限﹐是否應該再重返校園﹖Java,C,Delphi哪一門比較合適初學者學習....謝謝。。。。
迷途的小伙子



 

侯Sir﹐您好﹗
我的名字叫□□□﹐....畢業于寧夏大學物電系計算機應用專業﹐今年...。現就業于銀川一家網絡公司(...)﹐從事軟件開發。我之所以能知道您以及您的書是在我尋找VC方面的資料時﹐大學同窗給我介紹的。當看到<深入淺出MFC 2/e>這本書﹐我真是興奮極了﹐因為大陸很難找到這樣好的書。我現在正在學習Windows編程﹐工具是VisualC++ 6.0 ,我為自己在近2年制定的目標是熟練掌握C++和windows編程﹐您覺得我這個目標如何﹐希望能給我一些建議。最後要說的是您的書很好﹐希望能多出一些﹐祝您身體健康﹐工作順利﹗

 



您好﹗
我是大陸一名讀者﹐近日拜讀了您的譯作《Essential C++中文版》﹐感覺很不錯﹐真想儘快看到您在大陸即將出版的幾本書。
不過﹐有一處我想請教您﹐在書的前言Lippman說﹕“所有程序皆在Visual C++ 5.0環境中以Intel C++編譯器測試過﹐並且也在Visual C++ 6.0環境中以Microsoft C++編譯器測試過。”
也許是我見識太少﹐這句話我不明白﹐到底什麼是Intel C++編譯器和Microsoft C++編譯器呢﹖有什麼區別呢﹖如果裝Visual Studio的SP5﹐VC++對C++標準的支持是不是好一點呢﹖我在網上查了好久﹐問了好些人﹐沒人能說明白的。無奈之下﹐只好問您了﹐真希望您能在百忙之中﹐抽空告訴我們。
非常感謝﹗

 

居住省份(台灣讀者請寫縣市)﹕上海
對侯捷的建議﹕謝謝你翻譯的好書﹐但願你把經典的<the C++ programming language 3e >譯成中文並在大陸出版﹐謝謝。



本人姓□﹐名□□﹐男﹐出生于1978年﹐浙江人氏。
今年剛畢業于浙江大學...。現為一家公司的程序員。由於收入微薄﹐生活窮困潦倒(呵呵)﹐故特向前輩借閱免費書籍一本。至於建議現暫無﹐看完全書後﹐再表。
再次深表感謝﹗

 


我是一名大陸學生﹐也是你的忠實讀者﹐不論是你譯的還是你編的書都很容易看懂﹐經常有豁然開朗的感覺。甚是喜歡。在此我要謝謝你。另外我想問一下國外有沒有關於游戲製作方面的書籍。謝謝了﹗

 

 

侯捷老師您好:
我是大陸的一名C++狂熱愛好者,我曾讀過您譯的<Essential C++> 和您寫的<深入淺出FMC>.學到很多東西,另我大開眼界.
我從其他材料中看到<C++ Primer>這本書.我們這裡買不到這本 書 的中文版,請問您我在哪裡可以買到這本書.郵購和網上定購都可以.
非常感謝您!

 

 

傳送日期: 2001年11月20日 PM 11:41
to Mr jjhou,
>C++ Primer 答客問 (27) 【標準與實作之間】
>......
>■C++ Primer p1156~p1157
>主題:generic algorithms max() 和 min()
>測試結果:VC6 所附的 STL 竟未支援 max 和 min 這兩個 generic algorithms。
>聯想:試看這個程式:

>#include <iostream>
>#include <string>
>using namespace std;

>template <typename T>
>T min( T v1, T v2) // <-- note
>{
> return (v1 < v2 ? v1 : v2);
>}

>.......
>void main()
>{
> cout << min( 17, 15) << endl; // 15
> cout << min(13.5, 13.57) << endl; // 13.5
> cout << min('a', 'e') << endl; // a
> cout << min("jjhou", "allan") << endl; // allan ======>這一行運行不對
>
> Rect r1(6), r2(3), r3(9);
> cout << r1 << r2 << r3 << endl; // 639
> cout << min(r1, r2) << endl; // 3
>}
>......
>檢討:
>一 此程式在 VC6 中失敗,但如果改為 #include<iostream.h>
>並移除 using namespace std; 則成功,這是 VC6 的 bug!

但是在我的計算機上運行,cout << min("jjhou", "allan") << endl;這一行結果是jjhou。
這是為什麼呢?
在MSDN <algorithm>中,有min(),然后當我在VC6中 #include <algorithm>,再過去看<algorithm>,卻發現只有min_element(),並且也沒有能正確地在source code 中使用。
對于min(),在MSDN中有以下兩段話,不過我沒有能調用成功。
-------------------------------------------------------------------------------
min
template<class T>
T min(const valarray<T>& x);
The template function returns the value of the smallest element of x, by applying operator< between pairs of elements of class T.

Microsoft-Specific:
To avoid conflicts with min and max in WINDEF.H, use _MIN and _MAX instead. These macros evaluate to _cpp_min and _cpp_max, respectively.
END Microsoft-Specific
-------------------------------------------------------------------------------
min
template<class T>
const T& min(const T& x, const T& y);
template<class T, class Pred>
const T& min(const T& x, const T& y, Pred pr);
The first template function returns y if y < x. Otherwise it returns x. T need supply only a single-argument constructor and a destructor.

The second template function behaves the same, except that it replaces operator<(X, Y) with pr(X, Y).

Microsoft-Specific:
To avoid conflicts with min and max in WINDEF.H, use _MIN and _MAX instead. These macros evaluate to _cpp_min and _cpp_max, respectively.
END Microsoft-Specific

 

 

傳送日期: 2001年11月16日 AM 10:28
後老師﹕
您好﹗我現在正在讀您的作品stl原碼分析﹐我對gp/stl很感興趣﹐但是不知道該怎麼樣在自己的程序設計過程中把他們得到完美的應用﹐另外是作一個可以完成任務的工人﹐還是深入理解內部機製﹖

●侯捷回覆:取決你對自己的定位。

 

 

傳送日期: 2001年11月21日 PM 06:32
尊敬的侯老師﹕
我正在學習(復習)Win32基本知識﹐很想看看DefWindowProc如何處理那些消息的﹐您說微軟提供了DefWindowProc的原始碼﹐在defwnd.c文件中﹐但是我把Platform SDK找了很久﹐也沒發現﹐請告之具體地點﹐或請把它和DefDlgProc的原始碼Email給我﹐不甚感激﹗
此致敬禮﹗

●侯捷回覆:早期版本的 Visual C++ 有附。我手上沒有保留。

 


傳送日期: 2001年11月21日 PM 06:57
侯老師﹐您好﹗
我是您的一位讀者﹐現在讀大學﹐以前沒讀過你寫或譯的書。然而我看的第一本你寫的書“深入淺出MFC”就給了我極大的震撼﹐我表達水平不好﹐反正就是好﹐呵呵﹗的確讓我了解了許多在其他書中有些“隔靴搔癢”的東西﹐真的十分感謝﹗
對了﹐還想請教一個問題﹐你的“DISSECTTING MFC”是配合VC5和MFC4。2﹐我現在用的是VC6﹐這我知道或許問題不大﹐但我用的是WIN2K ADVSERVER﹐對於你的那些事例以及什麼環境問題有影響嗎﹖
還有﹐最近看見有些論壇上提到“ESSENTAIL C++”裡許多代碼和事例程序在VC6下無法成功編譯或執行通過﹖主要指STL方面的﹐VC6對新的STL 以及泛型編程支持得怎麼樣﹖用VC學習“ESSENTIAL C++”是否合適﹖請候老師指點﹐謝謝﹗

●侯捷回覆:VC6 對 C++ standard 的支援不佳。

 

 

傳送日期: 2001年11月21日 PM 09:08
主旨: I really admire you
Mr Hou:
I admire your character and like your book very much. Thank you very much for providing good things. Wish to read your next book.

 

 

傳送日期: 2001年11月22日 AM 07:09
主旨: Can you introduce a good C++ book to me?
> Dear Jie Hou:
>
> Haven't seen you for a long time. How are you.
>
> I am a Chinese student studying in America. Now I, a beginner, want to study
> C++. As the book is very expensive in USA, I have to download a good free
> book about C++. But after a long time searching, I can't find a good book
> now. So can you show me a URL to download a book? Thank you.
>
> Waiting for your response.

 

 

傳送日期: 2001年11月22日 PM 03:40
主旨: 請問 Java and C++
> 侯老師您好:
>
> 我購買您 C++ Primer 中文版 與 Download Thinking in Java 中文,
> 請問兩者一起學習是否會有問題 .... ?
> 是否有先學哪一個語言會比較好 ?
> 我指的是希望兩者都會,因為工作上需要,
> 簡單說哪一種會後再推到另一種時會很容易學會。
> 我本身會 C。
> 謝謝 !

 

 

傳送日期: 2001年11月22日 PM 09:57
先生你好﹕
請允許我這麼稱呼你﹐我是上海同濟大學的學生﹐學的是計算機軟件﹐可是我最最怕的就是編程了﹐不說VC++﹐就連公認簡單的VB編起來也是錯誤百出﹐連一個小小的函數都要修改無數次﹐不知道為什麼﹖現在就要面臨就業和昇學的選擇﹐我有點迷茫﹐是不是學軟件就一定要學編程﹖我該怎麼辦﹖我現在在學vc﹐但是進展緩慢﹐你的書寫的真不錯﹐可是我就是領悟不了﹐先生我該怎麼辦﹖致禮﹗

 

 

 

傳送日期: 2001年11月24日 AM 10:02
候先生您好,
我是來自大陸的一名讀者
現在有兩個問題需要請教一下
1)目前我只有VC++6.0編譯環境,如何運行Essential C++中的例題程序(程式)呢,比如
2)現在我已經32歲了,才開始學VC++(確切的說是C++),準備改行做程序員,雖然以前有過編程的經驗,您是不是覺得已經不適合了呢
謝謝!

 

 

傳送日期: 2001年11月23日 AM 11:46
侯捷老師﹕您好﹗
最近一直在學習您的著作﹐主要是學習Generic Programming和STL相關的知識。但是在學習traits的時候碰到了一些困難。

我看到了很多程序﹐比如Visual C++ 6.0中的STL程序庫大量的使用了traits﹐但是這裡traits的用法卻沒有使用partial specialization.

原本在我看來﹐traits是以partial specialization為基礎的﹐但是vc不支持它﹐那樣的話﹐我們有什麼辦法可以來替代它呢﹖

希望您能推薦我一些讀物去學習﹐如果您能抽空回答我的問題﹐那更是不盡感激。謝謝﹗
期盼您的回信﹗﹗
Best Regards!

●侯捷回覆:VC6有獨特的作法,但不必去理會它,因為意義不大。如何在缺乏partial Specialization 的情況下實作出 traits呢?《泛型程式設計與STL》3.1.6節介紹了。

 




傳送日期: 2001年11月23日 PM 12:39
侯老師﹕您好﹗我是你的忠實讀者﹐在拜讀你翻譯的書“Essential C++”時﹐碰到一個問題﹐想請教你。
在書中提到一個關鍵字(namespace)﹐同時舉的例子中包括了語句﹕using namespace std。我在VC++ 6.0的環境下編譯時﹐如果註釋了這個語句﹐會提示編譯錯誤。但是在C++ Builder的環境下編譯時﹐如果註釋了這個語句﹐則沒有任何錯誤提示﹐並能正確執行。為什麼﹖您可以解釋其中的原因嗎﹖

●侯捷回覆:BCB自動做了「打開 namespace std」的動作。非常危險。

 

 

傳送日期: 2001年11月23日 PM 01:47
侯老師:你好!
很高興在書店能找到你的大作("Essential c++""Effective c++ 2e\nInside c++ Object model"),因為以前都是用c語言的時候居多,c++只是偶爾用之,不是很清楚.所以我的第一選擇是先研讀"Essential c++"這本好書.
我個人比較喜好borland公司的編譯器bc3.1.但是在第一章試ぴ調試第一個示例程序的時候,編譯器報了四個錯誤,她們是:
1.using namespace std;//error:Declaration syntax error
2.string user_name; //error:Undefined symbol 'string'
//error:Statement missing ';'
3.cin >> user_name; //error:Undefined symbol 'user_name'
我查了bc3.1的簡明手冊,也弄不明白該做哪些調整,只有厚顏耽誤侯老師一點寶貴的時間來指教愚生了.
給老師造成不便之處,還望老師能體諒一二.不勝感激之致!

 


傳送日期: 2001年11月23日 PM 05:52
主旨: 請問有關CMap的問題 感激不盡~!

> 親愛的侯俊傑先生(大人)
> 在讀完您的幾本大作之後,我敢說自己真的感受到了程度上的提昇
> (那麼我就開門見山的說了 希望您能在閒暇之餘回應敝人的問題)
>
> 我目前想用一個CMap來儲存資料,但卻在serializable上碰上了瓶頸
>
> 因為據手冊上寫,不能使用archive>> and << obj這種形式
>
> 那麼我該如何儲存呢??
>
> 這是我預定的型態
>
> CMap<int,int,int,int> m_map;
>
> 因為存的都是int值,所以我曾經想過用CArray<int,int>或int[]就直接解決
> 請問要代替的話...這兩種哪一種較好呢??
> 感激不盡

 

 

傳送日期: 2001年11月23日 PM 09:39
侯俊杰先生﹕您好﹗
我是一名IT從業者﹐以前也是做軟件開發的﹐很可惜一直到我做編程的後期才聽說您﹐要不然說不我現在仍在Programming這個行當裡“苦苦掙扎”呢﹗
雖然現在改做internetwork intergration﹐但當上海的書店裡終於也有了您的大作《深入淺出MFC》時﹐已經不編程的我居然毫不猶豫地掏出了80元人民幣買下了它﹗朋友們都說我好有性格。我也不知道為什麼﹐當我看到“侯俊杰”這三個字時﹐心中就會涌起一股莫名的感動﹐我最愛看您網站上的文章了﹐總是一有空就看﹐您的文章不僅教人技術﹐更在上一堂人生的課。您關注技術背後的東西和掌握技術的人勝過技術本身。我從您的文章裡學到許多做人處世的道理。
我現在準備要考資訊專業的研究生了﹐我決心象您一樣把自己的專業知識回饋給社會﹕在有了一定的知識儲備與經歷後進入IT著作中譯領域﹐以侯捷為師﹐為中譯資訊圖書的前途打拼﹗﹗
“君子謀道不謀食﹐君子憂道不憂貧”

 

 

傳送日期: 2001年2月15日 PM 11:28
候先生﹐你好﹗
我是你《深入淺出mfc》的一名大陸讀者﹐在學習第3章時﹐碰到一個問題﹕
CObject* (PASCAL* m_pfnCreateObject)(); // NULL => abstract class
這句話裡m_pfnCreateObject是個pointer嗎﹖怎麼後面又有括號()﹖難道是一個function﹖另外﹐它是在什麼地方被賦為NULL或是其他值的﹖謝謝賜教

 

 

傳送日期: 2001年11月25日 AM 06:08
侯師傅﹕
您好﹗﹗深入淺出MFC 2/e為什麼不能免費下載﹖﹖又為什麼要表明是可以免費下載的﹖請您為小人物解釋一下





傳送日期: 2001年11月25日 AM 10:05
主旨: 您好....我是下載您電子書的讀者
居住省份(臺灣讀者請寫縣市):台中縣
對侯捷的建議:很少有人可以這麼大方的像侯老師這樣公開自己的研究,我很佩服。以後也會繼續支持。

 

 

您好﹕
我于昨日在http://www.csdn.net/expert/jjhou/下載了Dissecting MFC 2e電子版﹐很喜歡這本書﹕)
我的資料﹕
□□﹐現職學生﹐在北京理工大學計算機系﹐...﹐就住在理工的宿舍﹕)
我希望能看到更多的好書﹐讓中國的讀者也能見識到世界大師的風采﹗

 

傳送日期: 2001年11月25日 AM 11:04
侯老師﹕你好﹗
我是程序員的讀者﹐我從程序員了解到侯老師您﹐我現在準備學VC++﹐但是我看了很多書﹐卻發現看不懂﹐他們大部份都介紹如何創建一個程序﹐但是其中的原理卻沒有說﹐讓人感到摸不ぴ頭腦﹐我為此感到很困惑﹐不知道該如何學習VC++。後來﹐買了幾期程序員和程序遠大本營2001-微軟版﹐從中了解到您編寫的MFC第二版﹐我準備購買﹐但後來﹐又在學校看到其他VC++方面的模塊﹐運行庫之類的書﹐實在不知該學什麼﹖所以﹐寫信給侯老師﹐想請您給我幫助。
我想請侯老師告訴我如何學習VC++﹖能否給我介紹幾本書﹐從VC++的基本開始到高級的編程﹐尤其是編譯環境的使用﹐以及VC++的各個方面﹐使我能夠全面的學習VC++﹐對它有一個全面深入的了解﹐做一個真正的VC++程序員﹐希望侯老師能夠幫助我。謝謝﹗﹗﹗如果為此給你帶來什麼不便﹐敬請原諒﹗

 

傳送日期: 2001年11月25日 PM 01:19
讀先生之大作《深入淺出MFC》﹐忽然相到此總是懇請指教
操作系統﹐應用程序﹐cpu如何協同工作﹖
在windows平臺下﹐操作系統與應用程序互相調用﹐它們之間的關係到底如何呢﹖
如何實現交互功能﹖如何分開操作系統與應用程序的功能﹖它們好像是一體的啊。傳統的程序是順序執行﹐現在要實現多線程﹐操作系統與應用程序的代碼怎麼安排﹐怎麼執行﹖請問﹐這有什麼主要的方法與策略呢﹖CPU只有一個啊﹗
硬件與軟件的關係如何﹖硬件做那些工作﹐完成了那些工作﹖軟件又如何﹖ 硬件與軟件如何交互﹖如何通信﹖
請問﹐ 可不可以這麼理解﹐程序是永遠寫不完的﹐操作系統是個不完整的程序﹐ 如果要計算機完成更多的功能的話﹐就必需在上面加些代碼﹐ 這些代碼就是所謂的應用程序﹐ 操作系統與所謂的應用程序的代碼穿插執行﹐互相調用﹐由它們組成的結合體﹐其實就是我們現在所認為的一個完整的程序或軟件。

 

傳送日期: 2001年11月25日 PM 03:34
侯sir﹕
你好﹐我最近正在讀您 的譯著《essential c++》﹐感覺跟大陸的大部份c++的書籍內容有很大的區別﹐雖然都是入門的書籍﹐但此書所涉及的c++知識有許多都是在大陸的入門書中找不到的﹐比如泛型編程的知識。所以感覺雖然輕薄﹐但卻也不是語法要素的堆砌﹐讀來頗有寫味道。
下面有個問題﹐在書中有定義是﹕list<int>::const_iterator ite;
可是下面的程序中卻又出現了++ite﹔的語句﹐這是什麼原因呀﹖
既然已經聲明ite為const_iterator了﹐那它為什麼還能自增呢﹖如果能的話為什麼不把它聲明為list <int>::iterator ite;呢﹖謝謝﹔





傳送日期: 2001年11月26日 AM 10:49
侯老師﹕您好 ﹗
打擾您了。
我是個今年畢業的大學生﹐學計算機的﹐在昆明。
我現在很苦惱﹐我一直沒有找到工作。每次我去﹐沒有那個公司不要我帶作品的﹐最好還要有經驗﹐可我沒有。當他們問我學過DELPHI﹐SQL SERVER﹐PB﹐VB等等時﹐只要我說沒有﹐那就註定完了。
所以﹐現在我在學DELPHI﹐SQL SERVER﹐TCP/IP方面的知識。現在理論是懂了一堆了﹐但是我沒有自己的計算機﹐上機的時間很少。誰都知道計算機很需要理論和實踐相結合的﹐我怕自己學不好﹐我現在有點猶豫了﹐是繼續我所愛的計算機事業﹐還是換個別的工作﹐等我有錢買計算機的時候再回過來學習﹖總不能讓家裡的人這樣養ぴ我﹐更何況家裡並不寬裕。請您指教。盼回。
祝您健康

 

 

傳送日期: 2001年11月25日 PM 11:14
候老師﹕你好﹗
我是一名祖國大陸在深圳打工中專生﹐畢業兩年,今年21歲﹐熱愛編程﹐今天第一次在網上查找到了你的資料﹐看到了你的輝煌業績﹐實在令我佩服。
也許對電腦有ぴ獨立的愛好吧﹗自97年開始學電腦﹐也快4年了比較偏向于程序﹐平時工作生活中﹐一直是在自學﹐先後學過QBASIC﹐PASCAL﹐TURBO C++﹐FOXBASE ﹐ VISAL FOXPRO6.0﹐現在正學VISAL C++ 6.0﹐也許是現在的流行吧﹗另一個更重要的是自己學歷太低在外打工找到一份適合自己的工作很不容易﹐加上自己又沒有特長﹐想學VISCAL C++我知道很難﹐但我己經打下了很多基礎﹐不學﹐一切將會成為浪費。所以我只有學下去。可當我看到的MFC﹐現在現行的VISCAL C++比原來增加了那麼多的類﹐包括類庫。而我連最基本的MFC強大的框架﹐怎麼加自己的信息﹐每一句成員函數是什麼意思﹐都看不懂。有點膽怯﹐但這不是解的辦法﹐該怎麼學呢﹖我都不知該從哪方面學起﹖怎麼樣來提高自己﹖所以﹐有很多東西我想請教你﹐又感覺自己實在太落迫。你會給我賜教嗎﹖給我指引嗎﹖可我沒辦法﹖看書又有很多看不懂﹖
我希望在這個時候幫我一把﹐我將感激不盡﹗






傳送日期: 2001年11月26日 AM 09:00
我剛拜讀了您的大作<<深入淺出MFC>>,不過看了一個多月也沒看明白,我很急,請多多指點迷津!!!謝謝!!!

 

 

 

傳送日期: 2001年11月26日 PM 12:03
Dear 侯捷,
您好,有個問題想請教您。
當我和一群朋友在討論C++的資料型態時,我引用了C++ Primer第三章75頁的說法,認定shorts表示半個machine word。因此在16位元的compiler上,short應該為1 byte,在32位元的compiler上,short應該為2 byte。結果,經過我們試驗後,發覺即使在16位元的環境下(使用TC2.0與BC3.1),short type依舊為2 bytes。
因此我們查詢了一下MSDN的說明,說明如下:
「short Type short int (or simply short) is an integral type that is larger than or equal to the size of type char, and shorter than or equal to the size of type int. 」
本來還想到ISO Standard C++查詢相關文件,但似乎必須為會員,才可download。
如果C++ Primer為標準的說法,那麼MSDN的說法,便是Microsoft的自由認定,當然Borland的作法,也無庸非議。我們用就是了,也不用去管它們是否依照Standard C++的標準來做。若否?則Standard C++的標準定義為何?或C之標準定義為何?
打擾您,很抱歉。但因手頭上,相關的書太少,compiler也只有Borland及Microsoft的產品,無法多方比較,請原諒我的偷懶。

如能承蒙您的賜教,則不勝感激。

 

 

傳送日期: 2001年11月27日 PM 07:00
jjhou﹐您好﹗
我原來是祖國大陸浙江省浙江工業大學電子工程系學生﹐本人對mfc編程很感興趣﹐但由於以前找不到一本猶如charles petzold 的<<windows 程序設計》這樣經典的書﹐以及學習方法的不當導致學習mfc的效率極低。自從今年10月份看了候老師的《深入淺出mfc》後﹐提高很快﹐在此不勝感激。在祖國大陸有很朋友和我一樣都想學好用mfc編寫windows程序﹐但大多數朋友都很難掌握mfc的精華﹐在這方面候老師是權威﹐我代表祖國大陸學mfc的全體朋友邀請候老師到祖國大陸的各大高校講學﹐傳授學習mfc的思想。
最後我再一次真誠的邀請候老師到能夠到祖國大陸來看看。

 

 

傳送日期: 2001年11月28日 AM 12:42
侯捷你好﹕
我現在河北師大(石家莊市)﹐學物理的﹐但對計算機很狂熱。自打一下班學期被招入本
系機房做廉價勞動力而摸計算機﹐到現在到本校網絡中心幫忙(亦是河北教育網主節點)以來﹐兩年矣。
我聞先生大名至少一年﹐而對先生的書亦是貪得無厭﹐總想俱獲為己有﹐可惜先生的書太
難買了﹐所謂之難﹐一是不知簡體版何時出﹐哪裡買﹔二是先生之書是在告階又高價。前幾天看見有先生的幾本華中科大的書﹐高興得連飯費都搭進去了(笑)。
我要好好的感謝您﹐因為先生的書使我避免了走一條輕浮的“軟件操作”似的編程之路﹐
而是深入到語言和系統的底層去一探究竟﹐所謂曾文正公之“曰厚﹐曰實”(引伸一下而已)。由於對您的書籍的喜愛﹐我早已把您引為摯友。所以要ぴ邊不ぴ邊的和您亂說幾句。

一說師大﹕有個香港人叫什麼炳的給了500萬人民幣﹐師大出了〉500萬蓋了一個教學樓﹐
卻叫什麼炳樓﹐還在大廳裡塑了一個半身銅像﹐像是給死人祭奠。有三部電梯﹐七樓以下還不停(一共才十二樓)﹐學生不讓坐﹐以門前那條會說話的狗的一句名言說來﹕“你是學生﹐說話不靈。”氣得你想給它一個嘴巴﹐不過誰也不會與狗較勁。
這方面可以與師大較勁的華中科技大學算一個﹐某校領導居然以“充斥大量不負責任的言
論“為由強硬的將白雲黃鶴bbs關掉(請看附件)。悲哀呀﹐氣憤。看來中國還有許多觀念和
體制要改變。
二說出版﹐我真誠地希望先生出一些簡裝版的著作﹐一百元買5本和200元買4本﹐感覺是
不一樣的﹐再祝愿先生再出一本能夠一生引以為榮的著作。(不知MFC算不算)。

說了許多廢話﹐浪費了您的時間

 

 

傳送日期: 2001年11月28日 AM 10:03
侯老師﹕您好﹗
我是一名在職的工作人員﹐參加工作兩年了﹐畢業于江蘇省南京市東南大學熱能工程系﹐在工作之余﹐喜歡寫點小程序﹐以前用DELPHI多一些﹐最近在讀你寫的書﹐覺得C++真的很嚴謹﹐很想學好﹐希望在您的網站上能有所收穫﹗
侯老師﹐我有個小小的建議﹐因為我在工作﹐所以比較趨向于實用﹐所以我真的很希望在您的網站上看到很實用的小程序﹗

 

 

傳送日期: 2001年11月28日 PM 01:59
候先生﹕你好!
你所譯的<Inside The C++ Object Model>簡體版中﹐有一處我認為有錯。
P95-96,譯注。
我認為Lippman原文無誤﹐此處chunkSize為const data member﹐你所注"Point3d::chunkSize = 250"大大不妥(const)。我認為Lippman的意思是當在程序中引用origin.chunkSize(是引用,並非賦值)﹐編譯器會將其譯為Point3d::chunkSize(正確的地址,在data段裡).所以我覺得如果要改的話﹐那應該改的是原文中//的位置﹐加在Point3d::chunkSize==250前比較好(而不是加在origin.chunkSize==250前).
如果我的思考有誤﹐請來信告知﹐多謝。



侯老師﹕
我在閱讀essential c++ 時﹐有點問題﹐實在是不知道該怎麼辦﹐所以寫信向您請教。
我對該書的4.1題做編譯﹐但是它有一個stack.h的頭文件﹐一個stack.cpp和一個main.cpp﹐我不知道怎樣把它們編譯成一個完整的程序。csdn的一位高人教我下面的方法﹕
cl /c stack.cpp
cl /c main.cpp
cl stack.obj main.obj /Femain.exe

但是第一步就出錯﹕
D:\>cl /c stack.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

stack.cpp
E:\Program Files\Microsoft Visual Studio\VC98\include\istream(547) : warning C45
30: C++ exception handler used, but unwind semantics are not enabled. Specify -GX
stack.cpp(2) : error C2039: 'pop' : is not a member of 'stack'
stack.h(5) : see declaration of 'stack'
stack.cpp(3) : error C2065: 'empty' : undeclared identifier
stack.cpp(4) : error C2065: '_stack' : undeclared identifier
stack.cpp(4) : error C2228: left of '.back' must have class/struct/union type
stack.cpp(5) : error C2228: left of '.pop_back' must have class/struct/union type

我完全按照書上的答案寫程序﹐環境是您推薦的dos_like方式﹐編譯器是vc++6.0。

我下載了該書的源代碼﹐但它編排得簡直就是一團糟。比如我就找不到4.1題的main.cpp函數在那裡。它把一章所有的程序都寫在一個ch?main.cpp下面,叫人怎麼去編譯﹖

我知道侯老師時間很忙﹐我並不奢求您花很多時間給我解答﹐只希望您能在回信中告訴我何處能找到解決問題的答案﹐還有﹐雖說您不提倡剛開始學程序就用ide﹐但是學一種開發環境還是必要的﹐能不能介紹一本這方面書。

感謝您百忙之中看我的信﹐祝您身體健康﹐快樂﹗

居住省份﹕湖北



傳送日期: 2001年11月29日 PM 01:06
你好﹗
您能翻譯effective c++ 2e這本書對讀者來說真是福音﹐多謝。
我知道Meyers 在這本書之前還有一本書是effective c++﹐
不知這本書是否翻譯﹐對c++的初學者來說還是很需要這本書﹐
我是在一些書籍中看到介紹effective c++才知道還有effective c++ 2e。但2e對初學都來說有些早﹐所以我想effective c++是否能更適合我﹐請問effective c++的中文版是否出版。

 

 

傳送日期: 2001年11月29日 PM 10:47
你好, 先生. 真心的叫您一句. 您一定很受不了. 呵呵..您不是這麼嚴肅的人.
哎.怎麼說呢,看ぴ您的書.學ぴ您,那麼多的知識.不說一聲,真是有些過意不去.
不知道,您是否能看到.這封信, 我個人想像.這個信箱,估計已經很漫了.能認識您那是比現在好了.您看不到, 我的心意,也算發過去了.
祝:身體安康

 

 

傳送日期: 2001年11月30日 AM 10:18
侯大師您好﹕
我是大陸的一名C++的程序員﹐在10年前看到您的第一部著作《虛擬記憶體﹕觀念、設計、與實作》就受益非淺﹐之後還看到如《Windows 程式設計》等書﹐當然現在還保存﹐可現在的大師不知什麼原因換了名﹐不是對比您網站上13年前的照片和《Windows 程式設計》封底的照片﹐我都差點寫信問您是不是10年前的侯大師。真是有幸看其新作《Effective C++中文版》(簡體版)﹐這麼多年﹐我和我以前的同事(現在還寫程序)說以前的侯大師是不是上山了怎麼再沒有見他的新作了﹐原來是為了寫作便捷而少了一個字﹔好了﹐這下可好了您竟然可以來也敢來大陸﹐將來沒完沒了的讓您寫個夠﹐因為大陸的程序設計有太多的人需要您這樣的大師指點﹐這也算您在無意中為我們大中華做了莫大的無名貢獻﹐我並不含一點政治的皮膚﹐但有時對中華民族的掘起有一種莫名的責任﹐反正大家都一樣您是大師、在下小小兵﹐但都在努力干﹐不論是自己的還是別人的都一樣﹐希望以後能多看一些大師的作品﹐特別是有利提高程式寫作整體水平的作品。那不光是我會謝謝您、敬仰您﹐大概有很多很多人會和我一樣﹐甚至比我還要瘋狂。

注﹕我乃大西北甘肅玉門人﹐因不安分而于10年前深圳﹐在一家台灣的軟件公司工作﹐所以才有機會說前面的一堆廢話﹐真是有緣。下次來大陸請途經深圳停一下﹐如果那個人還限制您喝咖啡那我請您偷喝幾口﹐如果有興致我還可以和您喝幾杯“伊犁特”。



 

傳送日期: 2001年11月30日 AM 10:36
候老師﹕你好﹗
太多恭維的話﹐在此不必多說﹗對你的敬佩勝于顏表﹗
看了你寫的書﹐聽了關於你的故事﹐激情頓發﹐感悟猶深﹐還希望能認識一下你﹐並渴望得到你的指點﹗
我是一個VC的菜鳥﹐學了很久的VC﹐總是斷斷續續的﹐有時在弄ASP(因為我的工作是作網站)﹐所以至今仍一無所成﹗
對你的書﹐你很注重道理及原理的講解﹐這使得有計算機基礎的讀者﹐在無形之中不斷是提高與充實﹐更指明瞭我們學習的方面﹗
在書店﹐我沒找到你的書〈MFC深入淺出〉﹐不過﹐我下重金打印了繁體版的﹐因為它不僅是一本關於技術方面的書籍﹐更是一本優秀的文學作品﹗
由於時間倉促﹐還望與你做個朋友﹗

下面﹐我再求解我遇到的問題﹗請你為我解答一下﹕
1、我用MDI實現多文檔的視圖﹗可每次我新建文檔時﹐它要彈出選擇對話框﹐這個如何指定打開哪一個視圖﹗怎樣在菜單或快捷鍵中來實現打開指定的視圖﹗
請你為我解答一下﹗不管怎樣﹗請你回復此信﹗現我是你的讀者﹐願我們再成為朋友﹗

2、在對股市進行實時報價的時候﹐那實時數據是從上交所來的嗎﹖我們到那裡申請那個數據接口﹐以實現這一功能﹗(上交所還是它有公共的編程接口)


 

傳送日期: 2001年11月30日 PM 03:42
侯捷先生﹐您好﹕
我是一名C++的初學者﹐目前正在拜讀您翻譯的Essential C++(簡體中文版)。發現了一處錯誤───在勘誤表中沒有找到。在書中38頁函數fibon_elem()的定義中﹐您將Fibonacci數列的上限定為1024﹐但是在39頁的main()中﹐您將數列元素elem定義為int型。這樣當元素位置pos為47時﹐elem的值已經超出了int型的範圍﹐發生了溢出。

另外﹕我冒昧的說一句﹐您為什麼要和華中科技大學出版社合作呢﹖它在大陸不能算是一流的出版社。也許您可以考慮和清華大學出版社合作﹐它在大陸還是很有聲譽的。

●侯捷回覆:我的選擇