The first thing to note is: I participated in the "Read it classics" activity of Chapter Hua ON THE csdn student base camp. This book is written as a trial reader, since I only had three weeks to read the trial books, I am a little sincere and sincere about the evaluation of this classic "C ++ programming language. The master's work needs to be evaluated slowly, and there is not much to learn. In addition, because I have been busy with my graduation reply recently, I cannot spend too much time reading this book. It is unlikely that I will give it an overall comment, I will try my best to make an objective and true comment on what I have read, hoping to help my friends who want to buy this book. For the rest of the unread parts, I will make another supplement if I allow them in the future.
If you want to use this book to get started with the c ++ language, I advise you to put it back on the shelf. This book is not suitable for readers without the C ++ Foundation, it is not even suitable for beginners who only have basic C ++ skills. If you want to get started, I recommend you read c ++ primer. This book is suitable for those who have some knowledge about C ++ classes and templates and want to learn more, it is suitable for those who want to know how to design some features in the C ++ language and why it is designed like this. It is also suitable for those who have some development experience and want to further improve on this basis, further grasp the software design friends. If you are one of the following three types of people, I strongly recommend you read this book. Any book on C ++ on the market will eventually return to this book. Dr. stroustrup, as the C ++ language designer, understands the C ++ language more than any other C ++ user in the world, you can not only understand the features of C ++ from the technical perspective, but also from the philosophical perspective how this c ++ language feature is determined. From this perspective, I think Dr. stroustrup is a philosopher who is better than an engineer. His profound understanding of language characteristics excludes my admiration, for example, he said, "good design and no errors cannot be guaranteed only by the existence or absence of certain language features ", for example, he said, "The difference between the two languages (here he uses C and C ++ as an example) must be very small, or very lei, to minimize errors and confusion, "he said," If you have a choice somewhere, simplify the definition of a language or simplify the compiler, then we must select the former ". Reading Dr. stroustrup's book is not only about understanding the technical details of C ++, but also about understanding his profound design ideas. This reminds me of one sentence: "science originated from philosophy". The design of C ++ language is full of philosophical shadows. If you have the opportunity to read this book, please feel it with your heart and be sure to have a lot of GAINS. This Chinese commemorative version for the tenth anniversary published by huazhang Corporation has a distinctive feature: each chapter is prefixed with a famous saying (the original English version is like this). These famous sayings may come from philosophers, it may also come from various literary works, or from the masters who hope to return to the public. The famous sayings in each chapter are related to each chapter, which is easy to understand. For example, the namespace in Chapter 1 and the exception sentence "no rule can be so general, even no exception (exception) is allowed. Some of them are obscure. For example, in chapter 4th, the type and statement "perfection can be achieved only at the moment of collapse ". The author may put these famous sayings here to give readers some insights. As to whether there is a unified standard answer, it is not necessary. After all, one hundred people have one hundred hamlets in their eyes, everyone is an independent thinker. I like the words in my book: "Nothing can replace wisdom, experience, common sense, and good taste ", dr. stroustrup put forward some advice in the C ++ learning process, but he also pointed out that these advice are not principles, not constant laws of the ages, they should only be used where they should be used. This is a little different from the education we receive. For example, a college teacher will always teach us not to use goto commands in programs, this will destroy the program structure, but is it really not usable? I don't think so. Otherwise, the goto Command won't have been in the C ++ language for so many years and won't be eliminated. It is reasonable for anything to exist, using goto allows the program to quickly jump to a piece of code, which leads to a significant improvement in efficiency. As long as the program is within its own controllable range, it is not necessary to use Goto? We have been instilled in the idea that it is a good child to do what the parents say. When we do exercises later, the habit is to first look at the answer and see how the answer is, rather than thinking first. The last time I saw a question in Baidu Zhiwen, I asked a lot of differences between the answers to my own soft exam questions and the answers provided on the Internet, and I was a little worried. I would like to say: How do you know that the answer on the internet is correct? You must know that the National Software Testing Center will not provide the answer to the questions of the current year, the so-called reference answer is only the answer made by some so-called experts. The correct rate is unknown. If you believe that you are correct, prove it, such as searching for information, ask your classmates or teachers not to trust the so-called answer. The result of our education is that there is only one correct answer. Is there only one answer? Dr. stroustrup said no to this question in his book. Therefore, please have the opportunity to carefully read this book and look at the different ways of thinking on the same issue. This will certainly give your friends a fresh feel. I have also read comments from many readers on Dangdang's book, such as how the translation of this book is poor. However, as far as I have read these chapters, the translation is still acceptable, many sentences are really difficult to understand, but they can be understood after reading them several times. The translator also explains some concepts that ordinary readers do not understand, he also explained some mistakes in Dr. stroustrup's book. After all, the translator is also a professor in the Information Science Department of Peking University. I think it will be much better than us. I 'd like to say that the main reason for the poor translation of translators is that Dr. stroustrup's style is rather obscure. Therefore, many Chinese translations do not conform to the reading habits of Chinese readers. There are some sentences I really don't understand, but I still don't quite understand the corresponding English version. It may be that my skill is not enough, and the master's books need to be read multiple times, think about how it is possible to become a fat man. However, if you can read the English version, I suggest you read the original English version. The translated sentence will definitely be missing in expression. In the book, I also suggest that if you want to learn C ++, you should not go through the C and C ++ processes. Directly learning C ++ is the best way, in this way, you can skip the lower-layer information to learn the advanced features of C ++. After learning C ++, you can learn C again, which will help you better understand C. This is exactly how I learned C ++. When I was a freshman, I started to study c ++. When I was a junior, I needed to use C to study C again. I am glad to learn C ++ from the very beginning, because C ++ provides me with a way of thinking that uses class and object interaction as the benchmark, rather than a structured way of thinking in C, this is of great help to our development of modern programs. Therefore, if you plan to learn C ++, skip C and directly learn C ++. It is very important to take precedence, this is also an experience I learned from C ++. For example, if you use five times before using pinyin, you will find that Pinyin is inconvenient; things learned for the first time in life have a huge impact on people's future lives. Therefore, you can not only learn C ++, but also consider other aspects. Finally, I would like to say that this book should be necessary for a friend who is engaged in C ++ and may not help your development project too much, there are no "Software Project Development Examples" or other books, but this book can provide you with a new way of thinking, which may not work for you now, but one day in the future, you may be able to use the ideas you saw at the beginning? In his book, Dr. stroustrup elaborated on the origin of a language, what factors inspired it, and what development and modifications it experienced to form the present, these benefits developers for software architecture, software maintenance, software evolution, and so on. So if my friends can have such a book, I hope you can read it well and read it carefully. I believe that your quality will be greatly improved, whether in terms of development capabilities, still grasp things. Well, I have written so much. Recently, my graduation project is quite busy and I don't have much time. If I have the opportunity to read this book in the future, I will make some supplements. I hope my friends will get some benefits.