The tricks and tricks of the C ++ standard library are not just a plug-in, and sometimes need to be used. However, you do not need to put all the details and skills of C ++ in your mind before programming. The following describes how to learn.
The standard library provides basic facilities for C ++ programs. Although the C ++ standard library has been tossing around with the C ++ standard for many years and has not been finalized until the standard is introduced, it is very gratifying to see a variety of implementations in the implementation of the standard library, it has been proven to be an industrial-level masterpiece.
1. Dinkumware C ++ Library
Reference Site: high quality standard library written by http://www.dinkumware.com/P.J. Plauger. Dr. P. J. Plauger is the winner of the Dr. Dobb's Program Design Excellence Award.
Its libraries have been used by Microsoft for a long time, and Borland has recently obtained its OEM license, using the Dinkumware library in its C/C ++ products.
2. RogueWave Standard C ++ Library
Reference Site: http://www.roguewave.com/this database was used in earlier Borland C ++ Builder versions and later replaced by other libraries. I do not recommend this feature.
3. SGI STL
Reference Site: http://www.roguewave.com/sgi.com.
4. STLport
Reference Site: cross-platform portable version of http://www.stlport.org/SGI STL library.
That is to say, if you pick up any C ++ book, including many popular "must-read Classics", it is very likely that the content in this book is not what you should learn, you should not learn it. I say this for two reasons, because I used to be a victim. Second, it is also a more substantive reason. These so-called must-read Classics are filled with the traps introduced in C ++ and the various workarounds for the defects of C ++. Idioms is a good habit) or techniques technology ));
This kind of traps and defects in C ++ are countless, so a long tail is pulled out "; such books have "C ++ standard library defects and traps", "valid Java", and "valid C #" in all languages ), however, in C ++, this tail is particularly long, resulting in countless books.
3. The defects and traps listed in these books do not distinguish between common levels. For a programmer, we should want to see the order from the most common problems to the least common problems to list the content. However, these books are either all mixed together, you can either introduce the content based on technical categories such as "Resource Management, class design, and generics.
This is useless. If I see the content of a chapter, I certainly know whether it is about class design or resource management. Is it still nonsense ?), This makes it impossible for a learner to identify and spend the most important time on the most common problems.
- How C ++ compiler can handle exceptions
- Introduction to C ++ programming skills
- This section describes how to use C ++ and how to modify errors.
- Analysis of C ++ programming instructions and learning
- Describe how to enhance the functions of Visual C ++ Development Environment
The most important thing is that the content introduced in these books has nothing to do with being a good programmer. They can only tell you at most-hi, be careful to fall into this trap. Or tell you -- hi, you know that you may not have met this requirement in your eighth life. Can you solve this problem with this technique?
As a result, after reading another book, your head is full of symbols such as "forbidden", "alert", and "Lightbulb", but the true programming quality is not growing. Or there is a kind of book that is keen on the mechanisms behind language implementation. But what is the essence of language? It is used to abstract the actual encoding. A nice point is "design". It is not used to tell you how this feature is supported. For example, I have met the following scenario: the interviewer asked, "Do you know about virtual functions ?" The answer is a bunch of explanations about the virtual function table mechanism.
The interviewer asked: "What are the advantages of virtual functions ?" Why are virtual functions required? The C ++ Standard Library has the following answer: "Well... Ah... Is... Polymorphism. "At this time, I felt that the answer was not profound enough ). Ask: "What is polymorphism ?" Speechless.