Mastery of C++ may sound like a joke. Why is C++ so much harder to learn than other languages? This is basically because of a quote from Bjarne Stroustrup, the father of C++, “I hate it when language designers impose their preferences on users” (see go). As a result, C++ has become what it is — so how do you learn C++ well, or even excel at C++?

1. Talk about C++ books.

There isn’t, and there can’t be, one book that is best for everyone. But for real programmers who like to learn new concepts and techniques from “classic-style” books, I recommend The C++ Programming Language, 3rd and special edition, 1998. The book is about pure, pure C++, completely platform and library independent (except for the standard library). The book is aimed at experienced programmers to help them master C++, but it is not for beginners who have no experience, or for casual programmers who try C++ fast food. So the focus is on concepts and techniques, and a lot of effort is put into completeness and precision.

  1. How long does it take to learn C++?

That depends on what you mean by “learning.” If you are a Pascal programmer, you should be able to get close to Pascal in C++ very quickly; If you’re a C programmer, you can learn to do better C-style programming in C++ in a day. On the other hand, if you want to fully master the main mechanics of C++, such as data abstraction, object-oriented programming, general programming, object-oriented design, etc., and are not familiar with these things before, it is not surprising that it will take a year or two. Is that how long it takes to learn C++? Maybe double that. I think it would take at least that long to become a better designer and programmer. If learning a new language doesn’t lead to profound changes in the way we work and think, why bother? Learning a new and different language and programming style is much easier than becoming a pianist or mastering a foreign language.

C/C++ learning skirt [105+302+9869], whether you are small white or advanced, is to change or want to enter the industry can learn together progress together! There are development tools, lots of dry goods and technical information to share!

  1. Is knowing C a prerequisite for learning C++?

No! C++ subsets that are close to C are actually easier to learn than the language itself, with fewer typing errors, less circuitry, and better support libraries. So you should start with C++ in this subset.

  1. Do I have to learn Smalltalk to be a real OO programmer?

No. If you want to learn Smalltaok, go for it. The language is fun and it’s always a good idea to learn something new. But Smalltalk is not C++, and using the Smalltalk programming style in C++ would not yield good results. If you want to become a great C++ programmer and don’t have a few months to do nothing, concentrate on learning C++ and the ideas behind it.

  1. How do I start learning C++?

It depends on your foundation and motivation. If you’re a beginner, I think you’d better find an experienced programmer to help you, otherwise the inevitable mistakes you’ll make in learning and practicing will discourage you. In addition, even if your compiler is well documented, a C++ book is always a must. Documentation is not a good way to learn programming ideas.

  1. How can I improve my C++ program?

To say. It depends on how you use the language. Most people underestimate the value of abstract classes and templates, and instead make reckless use of casting mechanisms (casts) and macros. Check out my articles and books on this. Abstract classes and templates certainly serve as a convenient means to construct single class hierarchies or reuse functions, but more importantly, they serve as interfaces to provide a concise, logical service representation mechanism.

  1. Does the choice of language matter?

Yeah, but don’t expect any miracles. Many people seem to believe that a single language can solve almost every problem they encounter in system development, and they constantly search for the perfect programming language, only to be frustrated over and over again. Others relegate programming languages to trivial details and spend billions of dollars on development processes and design methods, forever using COBOL, C and proprietary languages. A good language, such as C++, can help designers and programmers do a lot of things, but its capabilities and drawbacks can be clearly understood and treated.

Attached: C++ tutorial recommended: “C language /C++ learning guide” single step debugging, “C language /C++ learning guide” grammar (from entry to mastery), C++ interview written test essentials, “C language /C++ learning guide” Qt interface development, “C language /C++ learning guide” dynamic library and static library, C Primer, with FFMPEG development screen recording, C++ Boost library programming, using webrtc to build video conference system.