C ++ learning steps

Source: Internet
Author: User

C ++ knowledge classification:

① Basic knowledge (C language, standard library, file, registry, data structure)

② Advanced knowledge (multithreading, serial communication, network communication, dynamic library, MFC, COM, ATL, ActiveX)

③ Professional knowledge (image processing, multimedia, OpenGL, DirectShow, database, and network security)

Stage 1

It takes a month to learn the basic C language, then look at Dr. Lin's high-quality programming, and finally go to C ++ Prime, the C ++ programming language (generally used as a reference book, for example, when a compilation error is found during debugging, but it is puzzling !), After reading this, it will basically be based on object programming!

Stage 1:

Try to implement the character processing function that encapsulates the C language and create a string!
You can view it in combination with Objective C ++/more efficient C ++/exceptional C ++. In this way, you will have a deep understanding of pointer operations, exception handling, and smart pointers!

Now, you can basically work in C ++!

Stage 2-Object-Oriented Design
The Entry Example is to use VC to study the MVC mode. The best way to improve the skill is to give an in-depth explanation of MFC. The key of this book is to understand the first three chapters, understand how to encapsulate the underlying C language in MVC mode to implement the object-oriented mechanism! At the same time, you can also read books related to STL. There are few good books in this regard, but there are many beginner books! The key to this phase is to understand how to design based on language characteristics and software requirements!

Stage 2: write your own system library

Generally, too few people can enter this realm. You need to know too much about it! First of all, you must have a solid basic theoretical knowledge. Based on my understanding, people who cannot independently complete a small core operating system and compiler and those who are inherently weak in mathematics have no hope! Because when you abstract an external system and build your own solutions, there must be problems that cannot be solved now. At this time, you will inevitably change the original language, even better people are designing their own hardware! Well, entering this realm is deemed to be a part of the WTO! At this time, the language is integrated into your mind. It is no longer the language that controls you, but the language that controls you! Unfortunately, no one in China has heard of this number yet. Maybe...

Learning C ++ is similar to learning the sword in martial arts. Most people only use it for cutting-edge purposes. A few people can stand on their own and a few can become masters. As for the unity of mind and sword, it will be a hundred years!

Finally, the road is long!

Cheats:

[Lippman2000] essential C ++
Essential C ++, by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Chinese version of essential C ++, translated by Hou Junjie, pp. 282

[Gregory95] C ++: the core language
C ++: the core language by Gregory Satir 1995 o'reilly
C ++ language core, translated by Zhang Mingze, 236 pp.

[Deitel98] The complete C ++ Training Course
The complete C ++ Training Course 2/E by Harvey M. deitel 1998 Prentice Hall
C ++ University tutorial (second edition), translated by Qiu zhongpan, pp. 816

[Steven S2000] Standard C ++ Bible
Standard C ++ Bible 2000 Al Steven s IDG
Standard C ++, translated by Lin Limin, 766 pp.

[Eckel2000] thinking in C ++
Thinking in C ++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C ++ programming ideology, translated by Liu zongtian, 420 pp.

[Lippman98] C ++ Primer
C ++ primer, 3rd editoin, by Stanley Lippman and Joseph Lajoie
Addison Wesley Longman, 1998 1237 pages
C ++ primer Chinese edition, translated by Hou Junjie, pp.

[Struostrup2000] The C ++ Programming Language
The C ++ programming language, special editoin, by Bjarne stroustrup
Addison Wesley Longman, 2000,1017 pages
Classical C ++ programming language, translated by Ye Bingzhe, rulin 1999

[Ansi c ++] C ++ specifications 1998.9.1 PDF Format
Ansi c ++ 1996 draft

Level 2: expert experience (C ++/OOP)
[Meyers96] More Effective C ++
More effective tive C ++, by Scott Meyers, Addison Wesley, 1996,318 pages
More effective tive C ++ Chinese edition, Hou Junjie, Pearson 2000. 318 pp.

[Meyers98] valid tive C ++
Valid tive C ++, second edition, by Scott Meyers, Addison Wesley Longman, 1998.256 pages
Executive tive C ++ 2/e Chinese edition, Hou Junjie, Pearson, pp. 2000.256

[Suter99] exceptional C ++
Predictional C ++, by Herb Suter, Addison Wesley Longman, 2000.208 pages
Predictional C ++ Chinese version, Hou Junjie, peisheng 2000.248

[Suter2001] More than tional C ++
More than tional C ++ by Herb Suter, Addison Wesley Longman, 2001.

Level 3: Underlying Mechanism (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,280 pages
Explore the C ++ Object Model in depth, translated by Hou Junjie

Level 4: Reuse of design concepts (C ++/patterns)
[Gamma95] design patterns: Elements of reusable object oriented software,
By Erich Gamma, Richard Helm, Ralph Johnson, and John vlissides, Addison Wesley, 1995.395 pages
Design Model, translated by Li Yingjun, Mechanical Industry Press, 2000.254 pp.

[Alex2001] modern c ++ design: Generic programming and design patterns applied
By Andrei Alexandrescu, Addison-Wesley, 2001,352 paper

Genericity/STL series:
The first realm is to use STL:
[Josutis99]: The C ++ standard library-a tutorial and reference, by niclai M. josutis,
Addison Wesley 1999.799 pages

The second realm is to understand the connotation of generic technology and the theory of STL:
[Austern98]: Generic programming and the STL-using and extending the C ++ Standard
Template Library, by Matthew H. austern, Addison Wesley 1998.548 page

The third realm is to expand STL:
[Stepanov2001]: C ++ standard template library by P. J. plauger, Alexander A. Stepanov,
Meng Lee, David R. musser, Prentice Hall 2001
 

Source: http://hi.baidu.com/lvsuilv/blog/item/2abeb72999fc66fd99250acb.html

Source: http://blog.csdn.net/iinel/archive/2007/12/20/1955193.aspx

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.