[HERB SUTTER's name "More Exceptional C Chinese version will be published soon. As a translator of this book, I am very happy to recommend this book to everyone. Judging from Huazhong University of Science and Technology Press agreed, I will disclose some translation, please ask everyone to criticize. ]
Face-to-face with Masters (translation)
The violin Muretch recorded a record, including the greatest two violin works in Beethoven 1. Listen to the record, you seem to hear Beethoven to talk to you about the understanding and feelings of music art, to answer each question and confusion of violin music creation. In order to recommend Beethoven's two names to music enthusiasts, Mutage has a titler for her name - "Opposite Beethoven".
Close up more Exceptional C , my first reaction is to add a similar sub-question for this kind of one, and then solemnly recommend it to you.
Yes, this book is dedicated to you is another master of pain. Different, this master is from the C programming field you are concerned. For each C enthusiast or C professional programmer, Herb Sutter's name should not be unfamiliar. As a member of the ISO / ANSI C Standards Committee, Herb Sutter is not only a recognized expert in the C programming field, but also a technical lecturer and writer who is popular with programmers. Herb Sutter is popular on the Internet, which is popular, almost become an online must-read of each C programmer. This book is the latest summary and essence of Guru of The Week.
The main feature of this book can be reflected in I am adding a self. As a professional programmer in the Warring War, the general progress of the programming, HERB SUTTER clearer the programmer in the process of promoting technical skills. He knows only to understand the question and confusion of beginners, but also the traps and make mistakes encountered in the daily work of professional programmers. Therefore, in this book, Herb Sutter uses a unique "question / answer" way to guide you to learn C language features; in each of the books, Herb Sutter rationally envies out your question and confusion, There is also a god-assisted to guess your (may be wrong), then give you the best programs, in the end, it also refines the general principles to solve similar problems. After reading this book, you seem to have a conversation with the Herb Sutter master, and experienced his guidance and point to you.
Regarding another feature of this book, I would like to point out that as a member of the C Standards Committee, Herb Sutter emphasized the latest standards and latest features of the C language in this book, emphasizing the use of generic programming and standard libraries. In all examples of this book, HERB SUTTER provides us with a fresh C programming style and pure modern C code and examples.
__________________
1. Examples, this is a dual CD album, including Beethoven's D major violin concerto and C major "trono" concerto.
This book is suitable for readers to be medium and senior programmers, but this does not say that this book is high. The author is not telling the deep language characteristics and design techniques, there is no way to avoid the basic topic; the opposite, the introduction of the basic knowledge, review and deepen the lottery in many of the books. However, the contents of these clauses involve only the details in the C characteristics, which does not have a comprehensive introduction to each of the characteristics of C , or every aspect of each feature. Despite this, as long as there is a basic C base and a certain programming experience, you can fully understand and digest all the contents of this book. Due to the clever organizational and careful selection of materials, the content of every provision of this book is independent, it makes you learn more about C language characteristics. Thus, I believe that whether there is a certain basic C enthusiast, or the professional programmer in the Warrhery, this book will bring you a harvest; in your C programming career, it is your way to One of the lack of C monograph.
Thank you
[slightly]
In spring
Shenzhen Shekou, April 2002
table of Contents
sequence
VII
IX preface
Wild program design and C standard library 1
Terms 1: Flow 1 Class 2: Predicates, 1: Remove () What is deleted? 6 Terms 3: Predicates, 2: Problems Bringing Issues 11 4: Scalable Templates: Use Inheritance or Traits? 19 Terms 5: TypeName 32 Terms 6: Containers, pointers and "Containers of Containers" 36 7 : Using Vector and Deque 46 8: Use SET and MAP 53 Terms 9: Is the same code? 59 Terms 10: Template Specialization and Heavy Products 64 Terms 11: Mastermind 69
Optimization and performance
83
Terpsis 12: Inline 83 Terms 13: Cultured Optimization Quote 94 Terms 16: Milous Optimization, 4: Multi-threaded Environment 103
Abnormal security issues and technology
115
Terms 17: The constructor failed, one: Object Life 115 Terms 18: Constructor Failure, 2: Abnormal absorption? 119 19: Unpaged exception 126 Terms 20: Unmanaged Pointer Existence, one: Parameter evaluation 132
Terms 21: Unsaved Problems Existential, 2: Using Auto_PTR? 135 Terms 22: Unusual Safety and Class Design, one: Copy Assignment 141 Terms 23: Unusual Safety and Class Design, 2: Inherited 149
Inheritance and polymorphism
155
Terms 24: Why use more inheritance? 155 Class 25: Simulation Multi Inheritance 159 Terms 26: Multi - inheritance and Connected Double Baby Problem 162 27: (Non) Pure Virtual Function 167 Terms 28: Controlled Polymorphism 172
Memory and resource management
175
Terms 29: Using Auto_PTR 175 30: Intelligent Pointer Member, one: Auto_PTR Existing Problems 182 Terms 31: Smart Pointer Member, 2: Design ValuePtr 187 Free Function and Macro
201
Terms 32: Recurrence Declaration 201 Terms 33: Simulation Nested Functions 206 Terms 34: Pre-Processing Macro 215 35: Macro Definition 218
Miscellaneous
223
Terms 36: Initialization 223 37: Pre-declaration 226 Terms 38: Typedef 228 Terms 39: Name Space, one: USING Declaration and USING Directive 231 Terms 40: Name Space, 2: Migrate to Name Space 234
postscript
245
Appendix A: (in a multi-threaded environment) is not optimized 247 Appendix B: Single thread String implementation with multi-threaded safety string implementation comparison test results 263
references
271
index
273