[C++ Entry Guide] (01) Learning Route

insert image description here

getting Started

1. Recommended Books

Select one of "Accelerated C++" and "Essential C++" for intensive reading. Selected reading of "A Tour of C++".

  • "Accelerated C++" is very suitable for novices, because it is only less than 300 pages, and it is a clear stream in the general introductory books. Easy to read through, less frustration. With such a length, it can also involve the use of some standard libraries, which is really suitable for getting started.

  • "Essential C++" is more suitable for those with other programming experience to learn C++ quickly. The content will be deeper than "Accelerated C++".

  • "A Tour of C++", the masterpiece of C++ creator, is suitable for reading just after learning or after a long time, to quickly review C++ knowledge.

2. Recommended Sites

3. Code

The main thing is to go to GitHub to look at other people's code and try to write some code.

Getting started is the most critical step. You have a preliminary understanding of various basic concepts, and you have successfully written and run the code. It feels awesome~

Advanced

1. Recommended Books

  • Intensive reading of "C++ Programming Language" and "C++ Primer Plus". Then I have time to read another book.

  • Understand the function library: You can read "C++ Standard Library", "In-depth Understanding of C++ Object Model" and "STL Source Code Analysis" by Mr. Hou Jie in order.

  • Interested in how to write better performance and more elegant C++ code? You can continue to read "Effective C++" and "More Effective C++", "Exceptional C++". These few books can help you understand excellent engineering practices, and after reading them carefully, you can say that you can participate in engineering projects with confidence and quality.

  • Finally, if you know more about computer structure, storage, and computing principles, you will have a more thorough understanding of the ins and outs of C++. You can read "Introduction to Computer Science", "Code Encyclopedia" for software engineering, and "Modern Operating System" for operating systems. , "In-depth understanding of computer systems" for programmers.

Answer questions

Question 1: Should I learn C first and then C++?
My personal opinion is that as far as learning C++ is concerned, it is enough to learn C++ directly, without learning C first. In Zhihu, I saw that Stephen Thomas Lavavej, who maintains STL at Microsoft, said that he wasted a lot of time learning C language before learning C++. If he knew it, he would start directly from C++.

Question 2: How to combine Android and C/C++?
You can search for keywords such as NDK and JNI to understand, and there are overwhelming basic tutorials on the Internet. There should be no problem for everyone to learn the basic use of this learning, but if it is a little more in-depth, such as in the code with clear functions, what is the structure of the c code, life cycle, how to cooperate with Android (Java), etc., to be honest, you need The practice of a project.

Question 3: Is it necessary for Android developers to learn C/C++, and how to combine them?
Personally, the necessity depends on the business field of the company and your personal interests. For example, the audio and video services involved in live broadcast companies must involve c/c++ (there is no java code for ffmpeg); similar services that require c/c++ are generally performance-oriented and low-level things. If you judge that your company does not have this need in the short to medium term, then it is your turn to see if you are interested. As for the prospect, let’s make a digression. The big front-end will slowly erode the native development, and gradually the simple Android development will be replaced, although the process should be very slow. On the one hand, you can also switch to a large front-end, which is faster; on the other hand, you can go deep into these low-level things, which are not so easy to replace, but who can say clearly about the future, haha.

Guess you like

Origin blog.csdn.net/duoduo_11011/article/details/130596338