如何克服C++类型系统的不足?在C++中,如何利用约束、契约和断言来实施软件设计?如何处理被C++标准所忽略的动态库、静态对象以及线程等有关的问题?隐式转换有何替代方案?本书将为你一一解答这些问题。针对C++的每一个不完美之处,本书都具体地分析原因,并探讨实用的解决方案。适合有一定经验的C++程序员和项目经理阅读,也适合对C++编程的一些专门或高级话题感兴趣的读者参考。
即便是C++阵营里最忠实的信徒,也不得不承认:C++语言并不完美。实际上,世界上也没有完美的编程语言。
如何克服C++类型系统的不足?在C++中,如何利用约束、契约和断言来实施软件设计?如何处理被C++标准所忽略的动态库、静态对象以及线程等有关的问题?隐式转换有何替代方案?本书将为你一一解答这些问题。针对C++的每一个不完美之处,本书都具体地分析原因,并探讨实用的解决方案。书中也不乏许多作者创新的、你从未听说过或使用的技术,但这些确实能帮助你成为C++方面的专家。
本书适合有一定经验的C++程序员和项目经理阅读,也适合对C++编程的一些专门或高级话题感兴趣的读者参考。
PART ONE Fundamentals
Chapter 1 Enforcing Desing:Constraints,Contracts,and Assertions
Chapter 2 Object Lifetime
Chapter 3 Resource Encapsulation
Chapter 4 Data Encapsulation and Value Types
Chapter 5 Object Access Models
Chapter 6 Scpoing Classes
PART TWO Surviving the Real World
Chapter 7 ABI
Chapter 8 Objects Across Borders
Chapter 9 Dynamic Libraries
Chapter 10 Threading
Chapter 11 Statics
Chapter 12 Optimization
PART THREE Language Concerns
Chapter 13 Fundamental Types
Chapter 14 Arrays and Pointers
Chapter 15 Values
Chapter 16 Keywolds
Chapter 17 Syntax
Chapter 18 Typedefs
PART FOUR Cognizant Conversions
Chapter 19 Casts
Chapter 20 Shims
Chapter 21 Veneers
Chapter 22 Bolt-ins
Chapter 23 Template Constructors
PART fIVE Operators
Chapter 24 operator bool()
Chapter 25 Fast,Non-intrusive string Concatenatinon
Chapter 26 What's Your Address?
Chapter 27 Subcript Operators
Chapter 28 Increment Operators
Chapter 29 Arithmetic Types
Chapter 30 Short-circuit!
PART SIX Extending C++
Chapter 31 Return Value Lifetime
Chapter 32 Memory
Chapter 33 Multidimensional Arrays
Chapter 34 Functors and Ranges
Chapter 35 Properties
Appendix A Compilers and Libraries
Appendix B “Wathc That Hubris”
Appendix C Artuius
Appendix D The CD
Eqilogue
Bibilography
Index