Some people asked me how to learn C ++ well. I have no other way to give it to you. The only way is to read and read a large number of books. C ++ should be used as a daily language rather than a programming language.
Someone asked me again, so what books should I read? What if there is no time?
I can only tell you that if you don't have time, don't learn C ++ and do what you like to do. C ++ is equally beautiful in life.
If you want to learn well, you must open a book order.
First, you must read the design and evolution of C ++ of Bjarne stroustrup to learn about the history of this language. Next, I can read other books, but I will keep looking back at this book to see how new technologies you have learned are accepted in this language a little bit.
The first book varies from person to person and has a better foundation. You can refer to C ++ primer of Stanley B. Lippman. This book is very huge. You can skip the asterisk part. The basics are not good. Check out Stanley B. lippman's essential C ++, this book is much lighter, but the four C ++ models have been mentioned, and it is very clear.
The second step should be to stop the technical aspects. Let's take a look at the practice of programming of Pike and kernighan, and sort out the precautions in programming. This very thin booklet is a must-read guide for programmers.
The third book, written by Bruce Eckel, is the thinking in C ++ translated by Hou Jie. I will re-read this book every six months. It can be said that each chapter is thought-provoking. This book makes me feel that the technology is used in a very high realm, but the language is very plain, as long as you read it carefully, even if the basics are not good, you can understand it. This book is used when I teach (the students are facing a zero base ). To upgrade to a higher level, we need to take a further step. First, we need to grasp the good design habits of C ++. This is an endless benefit from Scott Meyers leading tive C ++ and more powerful tive C ++. I more
Valid C ++ couldn't afford it, so it took 10 yuan to copy and bind a "Cable book", which looks like sunflower (;-)). These two books are true classics. The authors are familiar with C ++, making the style of the language almost as sweet as Jack, just as he is standing on the opposite side of the lecture. I have these two books in the hands of the original CD, if you are interested, you can send e-mail to the sjtu@263.net or in the drinking water source cast to gaobo for, as long as you provide the disc I will burn for free. If you have a deep understanding of Objective C ++ and more objective C ++, you can find that you are already a crane in the crowd. You can guide the project operation, compile all the programs you want to do, and point out the size of code that looks good to others. If you can see at a glance that someone's Code corresponds to "Clause 27" or "clause M6", you can really make me look at it.
As I have already said, if you want to write a program, the realm of EC ++ and MEC ++ is enough to make you feel comfortable, but if you are not satisfied yet, if you want to pay attention to some theoretical issues or look at the implementation code, you should not miss these great books. I mean herb Sutter's exceptional C ++ and more exceptional C ++. These two books are very difficult. I read more than ten pages of each article. In particular, the generic programming part. These two books are cited as an example, and they thoroughly explore what can be done. Every time I read one of them, I feel overwhelmed. There is also Hou Jie's STL source code analysis, I will explain how an STL is implemented in a few practical examples. I just started to read it and did not post comments. Instead, Stanley B. lippman, one of cfront's implementers, writes the inside the C ++ object model. I only have one word, that is, it's pretty cool. I have learned from numerous compilers about source code and memory allocation details? Recently, I got another cfront implementer and C ++ meditation record from Koenig of the C ++ Standards Committee. It looks very good. I also recommend it to you here, but I have not read it yet and have no right to speak.
Finally, you, the C ++ thinkers of the future, should remember that the C ++ programming language of Bjarne stroustrup should be read four or five times in any way! This is the source of all c ++ books. If it is not enough, order a C ++ standard from the C ++ Standards Committee. Do not read any books from Chinese mainland (including my books ). Do not read any books about VC ++ or specific compilers. If you need to complete C language courses, you can buy a very small K & R of the C programming language. Other books will not look at it. Do not learn C first, but C ++ directly. You didn't learn ancient Chinese first and then vernacular, right? Therefore, it is easier to believe me.
I have been studying two books during this time and can't say a word.
1. Negative STL
Order: http://www.cnforyou.com/query/bookdetail.asp? Vibookcode = 8537
By Scott Meyers
Press: China Power Press
The book was relatively thin at first, and I wanted to read it quickly, but soon I found that I could not move it. It was not until I read the last word that I found a basic fact: thin is not the book, but my own insights.
Many books related to STL have been read. Just as before, many books related to c ++ have been read. The books of Meyers always give people a feeling of being reborn and upgrading. He can always dig out unexpected new ideas in places that people think are commonplace, and point out that there are various crises in some things that the average person is accustomed, or, in some seemingly equivalent options, select the most effective (most alternative tive) option for a specific scenario. In addition, his cutting point is always understandable (unlike the stroustrup book, the first sentence will take a long time), but he will always choose several expansion points, and analyze them to the fullest extent. At this time, you need to read a piece of code or even a statement granularity. Of course, you can understand it at the end, which is always proportional to the reader's reading level, this gives a great sense of accomplishment. It can be said that there are no books available in STL practice (of course, in STL implementation, I still want to recommend Hou Jie's STL source code analysis).
After reading this book, we have a clear sense of distance with Pascal. Here I still want to say: Please love Delphi! I prefer to write "Var S: Set of char;" instead of "set <char *, less <char *>, Allocator <char *> S ",;-).
2. Modern C ++ Design
Order (Chinese): http://www.cnforyou.com/query/bookdetail.asp? Vibookcode = 8184
Order (photocopy): http://www.cnforyou.com/query/bookdetail.asp? Vibookcode = 8319
Author: Andrei Alexandrescu
Translator: Hou Jie, Yu chunjing
Press: Huazhong University of Science and Technology Press (Chinese)
China Power Press (photocopy)
After reading the first page of this book, I knew that I could not let it go, but I also knew that I had to go through more hardships. The implementation of the design model using C ++ is already difficult, but this book is still talking about the object model of a template, this is a hard nut to crack when I read "inside the C ++ object model. Unexpectedly, this book gave me some concepts and started to write a smartpointer.
I can't tell you that I have read this book, but I have read it. If you have not read a book on object models and design patterns, I think you need to read them. Otherwise, simply reading this book is simply suffering. Recently, some friends have noticed the importance of the design model. Maybe I will post some articles on "Computer newspaper" from next year. Please advise me.