當前位置:編程學習大全網 - 源碼下載 - 怎樣學習VC++

怎樣學習VC++

關於這個問題,我來做壹個系統的回答

首先,明白壹點,妳所說的VC++以及BC...都是編譯器

要學VC++,當然要先打好語言的根基

學習VC++有相當的內容要學,而最後的深度則看個人的悟性與勤奮了。

1)掌握最新標準的C++。

如果曾經在大學裏自以為學過C/C++,還對dynamic_cast/static_cast/template/try/catch/throw/stl/...感到

陌生,那妳該Refresh壹下新的ANSI C++標準了。 ----此與VC++無甚關聯,g++/bcb均有所支持。

(2個月)

2) 學習SDK編程;:-O (6個月) 痛苦是暫時的,必要的,堅持就是勝利! 建議用

Lccwin32/Masm32/Tasm編寫小而精的工具軟件; "Windows Programming Guide."

"Advanced Windows programming "

3) 研究MFC源代碼。(6個月)

不要被壹大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何擴展,包裝SDK之後,自可功

力漸進,不被其MFC系統框架所困繞。

"MFC Internals"

4) 研究OLE/COM技術。

COM/ActiveX技術是MS的核心技術,只有徹底洞察其理論精髓才可以體會現在的

操作系統的技術趨勢,以不變應萬變。

在此結合本人的壹些經驗,我再摘引本人收藏的2個經典,肯定益處多多

C++50經典

1.把C++當成壹門新的語言學習(和C沒啥關系!真的。);

2.看《Thinking In C++》,不要看《C++變成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;

4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑——他們都是集成開發環境,而我們要學的是壹門語言;

5.不要放過任何壹個看上去很簡單的小編程問題——他們往往並不那麽簡單,或者可以引伸出很多知識點;

6.會用Visual C++,並不說明妳會C++;

7.學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺余力的博覽群書;

8.如果不是天才的話,想學編程就不要想玩遊戲——妳以為妳做到了,其實妳的C++水平並沒有和妳通關的能力壹起變高——其實可以時刻記住:學C++是為了編遊戲的;

9.看Visual C++的書,是學不了C++語言的;

10.浮躁的人容易說:XX語言不行了,應該學YY;——是妳自己不行了吧!?

11.浮躁的人容易問:我到底該學什麽;——別問,學就對了;

12.浮躁的人容易問:XX有錢途嗎;——建議妳去搶銀行;

13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!

14.浮躁的人容易問:XX和YY哪個好;——告訴妳吧,都好——只要妳學就行;

15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;

16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裏;

17.C++不僅僅是支持面向對象的程序設計語言;

18.學習編程最好的方法之壹就是閱讀源代碼;

19.在任何時刻都不要認為自己手中的書已經足夠了;

20.請閱讀《The Standard C++ Bible》(中文版:標準C++寶典),掌握C++標準;

21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;

22.別指望看第壹遍書就能記住和掌握什麽——請看第二遍、第三遍;

23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

25.和別人壹起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;

26.請看《程序設計實踐》,並嚴格的按照其要求去做;

27.不要因為C和C++中有壹些語法和關鍵字看上去相同,就認為它們的意義和作用完全壹樣;

28.C++絕不是所謂的C的“擴充”——如果C++壹開始就起名叫Z語言,妳壹定不會把C和Z語言聯系得那麽緊密;

29.請不要認為學過XX語言再改學C++會有什麽問題——妳只不過又在學壹門全新的語言而已;

30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;

31.學習編程的秘訣是:編程,編程,再編程;

32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟件構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;

33.記住:面向對象技術不只是C++專有的;

34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼;

35.把在書中看到的有意義的例子擴充;

36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;

37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;

38.不要漏掉書中任何壹個練習題——請全部做完並記錄下解題思路;

39.C++語言和C++的集成開發環境要同時學習和掌握;

40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;

41.就讓C++語言的各種平臺和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;

42.當妳寫C++程序寫到壹半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);

43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;

44.決不要因為程序“很小”就不遵循某些妳不熟練的規則——好習慣是培養出來的,而不是壹次記住的;

45.每學到壹個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——妳能講清楚才說明妳真的理解了;

46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;

47.請不斷的對自己寫的程序提出更高的要求,哪怕妳的程序版本號會變成Version 100.XX;

48.保存好妳寫過的所有的程序——那是妳最好的積累之壹;

49.請不要做浮躁的人;

50.請熱愛C++!

曾經有壹個人寫了這個東西,我覺得有些道理,就貼出來吧

C++/OPP/OOD系列:

層級壹:語法/語意(C++)

[Lippman2000] Essential C++

Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages

Essential C++ 中文版 ,侯俊傑 譯,282頁

[Gregory95] C++:The Core Language

C++:The Core Language by Gregory Satir 1995 O'Reilly

C++語言核心,張銘澤 譯 ,236頁

[Deitel98] The Complete C++ Training Course

The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall

C++大學教程(第二版),邱仲潘等 譯,816頁

[Stevens2000] Standard C++ Bible

Standard C++ Bible 2000 Al Stevens IDG

標準C++寶典,林麗閩等 譯,766頁

[Eckel2000] Thinking in C++

Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall

C++ 編程思想,劉宗田等 譯,420頁

[Lippman98] C++Primer

C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie

Addison Wesley Longman,1998 1237 pages

C++ Primer 中文版,侯俊傑 譯,1999,1237頁

[Struostrup2000] The C++ Programming Language

The C++ Programming Language,Special Editoin,by Bjarne Stroustrup

Addison Wesley Longman,2000,1017 pages

C++程序語言經典本,葉秉哲 譯,儒林 1999

[ANSI C++] C++規格書 1998.9.1 PDF格式

ANSI C++ 1996 Draft

層級二:專家經驗(C++/OOP)

[Meyers96] More Effective C++

More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages

More Effective C++中文版,侯俊傑,培生 2000. 318頁

[Meyers98] Effective C++

Effective C++,Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages

Effective C++ 2/e 中文版,侯俊傑,培生 2000.256頁

[Sutter99] Exceptional C++

Exceptional C++,by Herb Sutter,Addison Wesley Longman,2000.208pages

Exceptional C++中文版,侯俊傑,培生 2000.248頁

[Sutter2001]More Exceptional C++

More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.

層級三:底層機制(C++ Object Model)

[Ellis90] The Annotated C++ Reference Manual

The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup

Addison Wesley Longman,1990,447 pages.

[Lippman96] Inside the C++ Object Model

Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages

深度探索C++物件模型,侯俊傑 譯

層級四:設計觀念的復用(C++/Patterns)

[Gamma95] Design Patterns:Elements of Reusable Object Oriented Software,

by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages

設計模式,李英軍等譯,機械工業出版社,2000.254頁

[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied

by Andrei Alexandrescu,Addison-Wesley,2001,352Paper

Genericity/STL系列:

第壹個境界是使用STL:

[Josuttis99]:The C++ Standard Library -A Tutorial and Reference,by Nicolai M.Josuttis,

Addison Wesley 1999.799pages

第二個境界是了解泛型技術的內涵與STL的學理:

[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard

Template library,by Matthew H.Austern,Addison Wesley 1998.548page

第三個境界是擴充STL:

[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,

Meng Lee,David R.Musser,Prentice Hall 2001

這些就是妳應該看的書,如果妳想成為高手。

  • 上一篇:Code::Blocks的主要特點
  • 下一篇:Centos7.9安裝python3.10
  • copyright 2024編程學習大全網