上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-26, AM 1:24 星期六 文章主題: 問題 |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:52 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-26, AM 1:53 星期六 文章主題: Re: 開始學C++啦!!! |
|
|
HPKon 加油啦!!!
書很厚,但是一頁一頁的讀下去,總是會讀完的... |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-26, AM 10:27 星期六 文章主題: Re: 開始學C++啦!!! |
|
|
加油加油
有不懂的歡迎隨時發問 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-27, PM 5:21 星期日 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:52 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
vamper 對這略感興趣的新人
註冊時間: 2007-06-23 文章: 29 來自: 台灣 18.82 果凍幣
|
發表於: 2008-4-27, PM 6:19 星期日 文章主題: |
|
|
如果不習慣用MSDN去查library的話,暫時用這個:
網址:http://www.cplusplus.com/
在上面的search打上cout,會看到一些它的使用方式,也會看到std::cout << 只是
一個ostream::operator<<的function,回傳是ostream&。
我說到這就好,簡單想成:我要把"Hello"從螢幕上顯示出來,std::endl就是斷行。
想知道std::cout << 後面能支援哪些變數類型,裡面都有寫到,等你實力有足夠時,
有興趣再去研究ostream class,本人是沒有研究這東西,知道怎用就行了。
接下來是個人的學習方式經驗談:
C++ Primer 4/e 中文版是一本好書,我也有看過,很好的書!
但是不是以一個剛學習C++的新手去看,我記得這本書的前言還是哪裡,
有提到說如果以一位剛學C++的新手去看,一開始會很辛苦。有些書,在章節開始時,
會跟讀者說:
1.這本書適合哪些人看(如:新手或進階)。
2.這本書給某些讀者哪些資訊(如:給你更堅強的OO理念)。
3.建議閱讀方式(如:只想取得OO的知識,請看第幾章...等)
4.產品代言人(如:某些高級工程師看了這本書之後的感想。)
有些有名的書通常有,像O'REILLY或老外書,都有以上某幾點。
這些訊息都給閱讀者一個方向:這本書,是我想要的嗎?它會讓我變強嗎?
想學C++的話,我推薦「C++風格與藝術」。
網址:http://www.oreilly.com.tw/product_c.php?id=a143
編程風格,我個人很看重這,尤其跟其他人一起寫專案時。也幫助你加強觀念上的規則。
如:Effective C++,就是這樣的書,但是建議你有實作一些小型專案時,再去看看,
會更有心得。
再來是網站,有些網站只是查資料找答案,適不適合學習C++,這見仁見智,
但對我來說都有。
網址1:國立交大的學術研究。我只看一點而已XD
http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/
網址2:作者不詳,這網頁提供寫game的基礎還有一些C++,OOP也有,不過小提。
http://www.bone.idv.tw/Non_Travel/MyGames/NuartCourse/C(C++)Advance_SWEngineering.html
網址3:滿有名的,「既使是貓,也會寫程式」,好像有人有翻譯過中文(書)。
http://hp.vector.co.jp/authors/VA010523/
就這樣吧~要懂得交叉學習,覺得這本書不能給我答案,我就去找找哪裡可以給我
最佳的答案。上網問人?我從沒有這樣做過,我長久以來都是學習獨立作業,
當然上網問人,也不是件壞事,只是我個人的個性關係,比較喜歡自己找答案,
成就感會比較大。 |
|
回頂端 |
|
|
還是零分 散播福音的祭司
註冊時間: 2007-09-19 文章: 164
653.83 果凍幣
|
發表於: 2008-4-27, PM 9:50 星期日 文章主題: |
|
|
這網站不錯!!
搞清楚了一些MSDN看不懂的部分(跟英文八字不合啊)
雖然也有繁體中文的MSDN啦
但好像沒有幫助 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-28, AM 12:34 星期一 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:53 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
mirror 散播福音的祭司
註冊時間: 2007-07-27 文章: 174
828.60 果凍幣
|
發表於: 2008-4-28, AM 2:50 星期一 文章主題: Re: 開始學C++啦!!! |
|
|
C++基礎沒打好真的很麻煩
若不懂就再問別人吧
英文不行的話就要自己找門路或加強一下
推一本書叫 VisualC++ .Net 入門進階
作者 位元文化 文魁出版
內容是很好很實用
主要在打C++基礎時用
從資料型態到陣列、指標、函數、類別與繼承
都有很詳細的說明
Win32SDK當初我是看這個網站的
講解的非常好..比MSDN的說明
解理力增加100倍
當你全都理解之後,馬上增加十年功力(誤)
http://www.ulinks.com.tw/win32/
DirectX我就介紹這個網站好了
http://kyovbdx.myweb.hinet.net/
因為這個站長把一些DirectX很基本的功能介紹出來
看起來很整潔,不會有的沒的一堆很難理解
也有遊戲範例(雖然是用VB)
上面vamper大大說的交叉學習
基中一個方式就是VB、VC
各種語言寫的也要能互相理解
大部分的程式都是設計理念互通
基本上就是要了解這一點
除非是太過牽強的功能
不然在各種文件的交流上是必須各別學其意
太極的不重其形、只重其意,就是這個意思
對一個資深的程式來說,只是基本條件 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-28, AM 10:16 星期一 文章主題: Re: 開始學C++啦!!! |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:53 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-28, AM 11:26 星期一 文章主題: |
|
|
HPkon 寫到: | std::cout << "Hello , World" << std::endl;
這本書解釋這語法可以這樣寫
解釋的我有點理解不能
這書是說std::cout << "Hello , World"的回傳值是std::cout
所以std::cout後面再接 << std::endl;變成std::cout << std::endl;
但是為什麼std::cout << "Hello , World"的回傳值是std::cout
是把std::cout當作是函式來看嗎???
請各位大人解答一下吧!!!
謝謝... m(_ _)m |
這等你學到運算子多載後就會懂了
cout是個類別實體
而<<是個運算子函式
不只是<<運算子
+-*/也都可以寫成運算子函式
假設我做個整數類別叫做CMyInt
那我多載它的加法函式就是寫成CMyInt CMyInt::operator+ ( CMyInt right ) { ... }
接著我就可以宣告兩個變數
CMyInt a = 5, b = 10;
那麼 a + b
就會等於 5 + 10
回傳值就是 CMyInt 型別的 15
而 CMyInt a = 5, b = 10, c = 20;
a + b + c 就等於 5 + 10 + 20
前面的 5 + 10 會先回傳 15
變成 15 + 20
然後才回傳 35
話說 a + b 在此完全可以寫成 a.operator+( b )
而 a + b + c 就是 a.operator+( b ).operator+( c )
同理 cout << "Hello" 就是 cout.operator<<( "Hello" )
而 cout << "Hello" << endl 就是 cout.operator<<( "Hello" ).opeartor<<( endl )
operator<<的回傳值如vamper大大所說是ostream&型態
也就是把cout本身丟回來
就如同書上所說一般
如果還有不懂再問吧
不過這方面的理解在你讀到後面的時候自然也會了解就是了 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-28, AM 11:40 星期一 文章主題: Re: 開始學C++啦!!! |
|
|
HPkon 寫到: | 說的是只要語法學會如何使用就行了嗎???
而至於這語法的運作原理不必太在意???
是這樣嗎??? |
正好相反
語法為形,原理為意
不同的程式語言之間多半意同形不同
要成為高手
就必須注重運作原理
至於語法
那就只是枝微末節的小事
不過新手學東西就該從形開始
人類學一切東西都是從模仿外形開始的
等到透過學習將程度提升到由形入意時
才是變成高手的開始
要注意的是
沒有人一開始就是高手
所以想要一步登天直接從原理去學習那只會事半功倍而已
一步一步來才是正確的
另外提醒你
讀書時不該直接1-pass從頭讀到尾就想一次全搞懂
讀書應該是種2-pass甚至n-pass的過程
第一次只需要略讀就行了
看不懂的就跳過去
直接往後看
等到整本書看完一遍後
再重頭讀第二次
這次有不懂的就再慢慢研究或者問人
很多時候一本書中各種理論是互相牽扯糾纏的
所以有時不得不在前面的章節用到後面章節的理論
第一次看時當然會不懂
但等到整本看完後再回頭看
有時就會發現很容易理解
像你這次問的問題就是這種例子
如果你有先略讀過全本一遍
這種問題想必你不用發問也會自行理解的 |
|
回頂端 |
|
|
mirror 散播福音的祭司
註冊時間: 2007-07-27 文章: 174
828.60 果凍幣
|
發表於: 2008-4-28, PM 1:24 星期一 文章主題: |
|
|
引言回覆: |
說的是只要語法學會如何使用就行了嗎???
而至於這語法的運作原理不必太在意???
是這樣嗎??? |
那個網站你有些程度就可以去看了
等你學會DirectX再去看就沒意義了
因為那個教學已經很基礎,也很清晰易懂
它有C++的教學也有VB教學
你先學C++ >> 然後學Win32SDK >> 然後學DirectX
這樣的順序不會算跳很多
基本上還是以學習C++為主
其它東西若時間多就讀的多
再加上有C++的基礎
其它東西就可以學很快
有時間還是多少學一點VB跟JAVA,頗實用的東西
若沒辦法的話就先搞好C++就好了 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-28, PM 3:54 星期一 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:53 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
babu61509 散播福音的祭司
註冊時間: 2007-08-26 文章: 142
681.01 果凍幣
|
發表於: 2008-5-3, PM 11:07 星期六 文章主題: |
|
|
姆...你可以先去找一些基本的物件導向觀念的資料看一下- -"
std 是一個 namespace , cout 就是 std 下面的一個 class .
至於為什麼是 std ,是因為某年的ANSI規定class丟在std下面.
中間的符號 :
(c++的符號有點麻煩...)
::是未建立物件的class用的(static或是沒new空間,當然沒static也沒new的話會錯誤),.是給物件用的,->是指標用
std::cout 就是呼叫 std下面的 cout class
C語言沒有 << ,c++有是因為C++導入了串流的觀念...
串流你把它當成是 資料 的流向就可以了,只要能輸出和輸入的設備通通可以用串流,只是各設備有各自的名稱(像是 cout 是標準輸出設備[預設就是螢幕輸出],cin是標準輸入設備[預設就是鍵盤],檔案好像是fstream類別(好久沒用不確定= =")等)
上面的解說應該沒錯吧- .- _________________ 已經畢業了!! |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-12, PM 2:40 星期一 文章主題: Re: 開始學C++啦!!! |
|
|
我買的是 C++ Primer 5/e 中文版。......(後面刪除)......
電腦遊戲程式製作 在 2008-5-12, PM 3:37 星期一 作了第 1 次修改 |
|
回頂端 |
|
|
|