点此搜书

当前位置:C++ Gotchas 影印本pdf电子书下载 > 工业技术
C++ Gotchas  影印本
  • 作 者:(美)杜赫斯特著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2003
  • ISBN:7508314948
  • 标注页数:325 页
  • PDF页数:344 页
  • 请阅读订购服务说明与试读!

文档类型

价格(积分)

购买连接

试读

PDF格式

11

立即购买

点击试读

订购服务说明

1、本站所有的书默认都是PDF格式,该格式图书只能阅读和打印,不能再次编辑。

2、除分上下册或者多册的情况下,一般PDF页数一定要大于标注页数才建议下单购买。【本资源344 ≥325页】

图书下载及付费说明

1、所有的电子图书为PDF格式,支持电脑、手机、平板等各类电子设备阅读;可以任意拷贝文件到不同的阅读设备里进行阅读。

2、电子图书在提交订单后一般半小时内处理完成,最晚48小时内处理完成。(非工作日购买会延迟)

3、所有的电子图书都是原书直接扫描方式制作而成。

Chapter 1 Basics 1

Gotcha#1:Excessive Commenting 1

Gotcha#2:Magic Numbers 4

Gotcha#3:Global Variables 6

Gotcha#4:Failure to Distinguish Overloading from Default Initialization 8

Gotcha#5:Misunderstanding References 10

Gotcha#6:Misunderstanding Const 13

Gotcha#7:Ignorance of Base Language Subtleties 14

Gotcha#8:Failure to Distinguish Access and Visibility 19

Gotcha#9:Using Bad Language 24

Gotcha#10:Ignorance of Idiom 26

Gotcha#11:Unnecessary Cleverness 29

Gotcha#12:Adolescent Behavior 31

Chapter 2 Syntax 35

Gotcha#13:Array/Initializer Confusion 35

Gotcha#14:Evaluation Order Indecision 36

Gotcha#15:Precedence Problems 42

Gotcha#16:for Statement Debacle 45

Gotcha#17:Maximal Munch Problems 48

Gotcha#18:Creative Declaration-Specifier Ordering 50

Gotcha#19:Function/Object Ambiguity 51

Gotcha#20:Migrating Type-Qualifiers 52

Gotcha#21:Self-Initialization 53

Gotcha#22:Static and Extern Types 55

Gotcha#23:Operator Function Lookup Anomaly 56

Gotcha#24:Operator->Subtleties 58

Chapter 3 The Preprocessor 61

Gotcha#25:#define Literals 61

Gotcha#26:#define Pseudofunctions 64

Gotcha#27:Overuse of#if 66

Gotcha#28:Side Effects in Assertions 72

Chapter 4 Conversions 75

Gotcha#29:Converting through void 75

Gotcha#30:Slicing 79

Gotcha#31:Misunderstanding Pointer-to-Const Conversion 81

Gotcha#32:Misunderstanding Pointer-to-Pointer-to-Const Conversion 82

Gotcha#33:Misunderstanding Pointer-to-Pointer-to-Base Conversion 86

Gotcha#34:Pointer-to-Multidimensional-Array Problems 87

Gotcha#35:Unchecked Downcasting 89

Gotcha#36:Misusing Conversion Operators 90

Gotcha#37:Unintended Constructor Conversion 95

Gotcha#38:Casting under Multiple Inheritance 98

Gotcha#39:Casting Incomplete Types 100

Gotcha#40:Old-Style Casts 102

Gotcha#41:Static Casts 103

Gotcha#42:Temporary Initialization of Formal Arguments 106

Gotcha#43:Temporary Lifetime 110

Gotcha#44:References and Temporaries 112

Gotcha#45:Ambiguity Failure of dynamic_cast 116

Gotcha#46:Misunderstanding Contravariance 120

Chapter 5 Initialization 125

Gotcha#47:Assignment/Initialization Confusion 125

Gotcha#48:Improperly Scoped Variables 129

Gotcha#49:Failure to Appreciate C++ s Fixation on Copy Operations 132

Gotcha#50:Bitwise Copy of Class Objects 136

Gotcha#51:Confusing Initialization and Assignment in Constructors 139

Gotcha#52:Inconsistent Ordering of the Member Initialization List 141

Gotcha#53:Virtual Base Default Initialization 142

Gotcha#54:Copy Constructor Base Initialization 147

Gotcha#55:Runtime Static Initialization Order 150

Gotcha#56:Direct versus Copy Initialization 153

Gotcha#57:Direct Argument Initialization 156

Gotcha#58:Ignorance of the Return Value Optimizations 158

Gotcha#59:Initializing a Static Member in a Constructor 163

Chapter 6 Memory and Resource Management 167

Gotcha#60:Failure to Distinguish Scalar and Array Allocation 167

Gotcha#61:Checking for Allocation Failure 171

Gotcha#62:Replacing Global New and Delete 173

Gotcha#63:Confusing Scope and Activation of Member new and delete 176

Gotcha#64:Throwing String Literals 177

Gotcha#65:Improper Exception Mechanics 180

Gotcha#66:Abusing Local Addresses 185

Gotcha#67:Failure to Employ Resource Acquisition Is Initialization 190

Gotcha#68:Improper Use of auto_ptr 195

Chapter 7 Polymorphism 199

Gotcha#69:Type Codes 199

Gotcha#70:Nonvirtual Base Class Destructor 204

Gotcha#71:Hiding Nonvirtual Functions 209

Gotcha#72:Making Template Methods Too Flexible 212

Gotcha#73:Overloading Virtual Functions 214

Gotcha#74:Virtual Functions with Default Argument Initializers 216

Gotcha#75:Calling Virtual Functions in Constructors and Destructors 218

Gotcha#76:Virtual Assignment 220

Gotcha#77:Failure to Distinguish among Overloading,Overriding,and Hiding 224

Gotcha#78:Failure to Grok Virtual Functions and Overriding 230

Gotcha#79:Dominance Issues 236

Chapter 8 Class Design 241

Gotcha#80:Get/Set Interfaces 241

Gotcha#81:Const and Reference Data Members 245

Gotcha#82:Not Understanding the Meaning of Const Member Functions 248

Gotcha#83:Failure to Distinguish Aggregation and Acquaintance 253

Gotcha#84:Improper Operator Overloading 258

Gotcha#85:Precedence and Overloading 261

Gotcha#86:Friend versus Member Operators 262

Gotcha#87:Problems with Increment and Decrement 264

Gotcha#88:Misunderstanding Templated Copy Operations 268

Chapter 9 Hierarchy Design 271

Gotcha#89:Arrays of Class Objects 271

Gotcha#90:Improper Container Substitutability 273

Gotcha#91:Failure to Understand Protected Access 277

Gotcha#92:Public Inheritance for Code Reuse 281

Gotcha#93:Concrete Public Base Classes 285

Gotcha#94:Failure to Employ Degenerate Hierarchies 286

Gotcha#95:Overuse of Inheritance 287

Gotcha#96:Type-Based Control Structures 292

Gotcha#97:Cosmic Hierarchies 295

Gotcha#98:Asking Personal Questions of an Object 299

Gotcha#99:Capability Queries 302

Bibliography 307

Index 309

购买PDF格式(11分)
返回顶部