Objective
Common problems
School curriculum design is not perfect, involving a wide range of what is not in-depth.
Teachers lack practical work experience, for example, I often see teachers often teach students to do math problems such as small programs, but in the actual work, we do not play this.
In my opinion, to learn a programming language, there is no need to limit the classroom, on the one hand is slow, on the other hand, if you want to learn a language, the key to learning and not teaching, your attitude and determination is the key, as long as you have the determination, no one can learn, now the Internet so developed, what content can be found However, if someone teaches, and the method is appropriate, it will certainly be much faster. All right, so much so, let's go into our topic today: what is the C + + to learn? What can I do when I finish C + +? Did you learn to be a food eater?
What to learn in C + +?
Basic article
C language It doesn't seem like you need to learn. C + + language: With the learning of OO, it is also necessary. When I first contacted C + +, it would be better if the school had a C + + course, you can follow the teacher's progress to learn, in the spare time can do more exercises or on-machine practice. If you are completely self-taught, you can find a textbook for college students. Mastered a number of basic C + + syntax, then began to learn the object-oriented part, this part of the content is more, beginners will feel more difficult to understand, it is recommended to practice more on the machine. After basic understanding of C + + object-oriented, you can start to learn template library, such as STL, because STL in our software development is very important, and even some recruitment requirements STL, (STL: Standard Template Library), which contains a lot of data structure and algorithm implementation, some can be directly used, But if you have a special need for data structures, you need to implement them yourself.
Advanced article
If there is nothing wrong with the basic parts of the C + +, then you can go to the level of learning, learning these you may feel puzzled, why I can not develop a interface with the program, hehe, if you have such a demand, then you can learn some interface library, such as QT,MFC, these two are more commonly used, QT Introduction is a little easier, but in depth will be more difficult, MFC get into trouble a bit, there are a lot of people that is to give up, but the sweetness in the back, as long as the road behind will be Yimapingchuan, obstacles less, incidentally, in the middle to learn the database self-study. (Oracle: Database industry boss, our application basically use Oracle database, and how not to learn it)
In the middle if you are interested in a certain field, you need to understand and learn the relevant library, such as three-dimensional graphics library OpenGL, network communication library Ace, and so on, these libraries are basically written in standard C + +, generally cross-platform.
Learning this can be common sense to update the Windows desktop things a wave, the application of these software to do their own, you are very impressive.
Bald article
After learning the above, basic work this piece no problem, want to improve later, may wish to study the system kernel programming this piece, study various system kernel, and the algorithm of deep learning this piece is also possible. Or to study in a more professional direction. Note that this is not a study, it is research.
What can I do when I finish C + +?
1, server-side development: Many games or internet company's background server programs are based on C + + development, and most of the Linux,unix and other similar operating systems, so if you want to do such a job, you need to be familiar with the Linux operating system and its development in the above, familiar with database development, Proficient in network programming.
2, Games: At present, many game clients are based on C + + development, in addition to some web games may not be, this field needs to learn more things, the individual does not know much to say.
3, Virtual reality simulation: This is also the rapid development of the computer field, the current digital Earth, Digital city, virtual geographical environment, and so on, there have been a lot of applications, but also not limited to these aspects, such as scientific computing visualization is also one of the directions. The emphasis in this direction needs to be learned in graphics.
4, Digital Image processing: Now there are many VC + + image processing books, visible in this field of application software development is also accounted for a large proportion, need to learn in-depth digital image processing and pattern recognition courses.
Overall:
Server Development Engineer, AI, cloud computing engineer, information security (hacker anti-hacker), big data, data platform, embedded engineer, streaming media server, Data control solution, image processing, audio and video development engineer, game server, distributed system, game assistant, etc.
Did you learn to be a food eater?
This is nothing to say, the recruitment on the Internet to see, the first look is not wages, but the ability to demand you have it? It's not a question of how much people give, the question is whether you can afford it on your shoulder. This is the reality.
Conclusion
And we have said so much, not to tell you how much my technology has a cow, but want to tell you, as long as you have the determination and will, to learn C + + is not so difficult. It is not so difficult to mix rice, if you want to exchange technology, if the heart to learn the rookie can also come to the C + + learning Paradise: 627+012+464
What do you want to learn from C + +? What can I do when I finish C + +? Did you learn to be a food eater?