The online computer book shop for UK & Europe                                   

   Books Home | About Us | Index | Next Record | Browse

 
  

Tel: 0121 706 6000 

Static Book Details Page - Computer Manuals Website

 C++ Gotchas: Avoiding Common Problems in Coding and Design (Addison-Wesley Professional Computing (Paperback))
  

  C++ Gotchas: Avoiding Common Problems in Coding and Design (Addison-Wesley Professional Computing (Paperback)) by Stephen C. Dewhurst

  • Published by: Addison-Wesley Educational Publishers Inc
  • Author: Stephen C. Dewhurst
  • Page Count: 352
  • Group: Programming languages
  • ISBN: 0321125185/9780321125187
  • Published: Dec 2002

Our Price: 33.24
Discount: 5%
RRP: 34.99 

For Latest Pricing and Availability Click Here
 

The online computer book shop for UK & Europe

Book store with some thing for everyone

Book Information and Description:

C++ Gotchas: Avoiding Common Problems in Coding and Design (Addison-Wesley Professional Computing (Paperback))
C++ Gotchas is the latest addition to the distinguished roster of Addison-Wesley's bestselling programming titles, such as Effective C++ and Exceptional C++. While appealing to the same broad audience of intermediate C++ programmers, this book has a completely different approach. The author presents 99 gotchas - common and preventable problems in C++ programming and design. The gotchas run the gamut from minor syntactic annoyances to basic design flaws to psychological behavior. The material has been selected based on the author's extensive experience presenting gotchas in his training classes, speaking engagements, and magazine articles. By learning the lessons in this book C++ programmers will save themselves much time and wasted effort. C++ Gotchas is destined to become an invaluable reference to many programmers.


Contents:

Preface

 Acknowledgments

 1

Basics

 Gotcha #1: Excessive Commenting

 Gotcha #2: Magic Numbers

 Gotcha #3: Global Variables

 Gotcha #4: Failure to Distinguish Overloading from Default Initialization

 Gotcha #5: Misunderstanding References

 Gotcha #6: Misunderstanding Const

 Gotcha #7: Ignorance of Base Language Subtleties

 Gotcha #8: Failure to Distinguish Access and Visibility

 Gotcha #9: Using Bad Language

 Gotcha #10: Ignorance of Idiom

 Gotcha #11: Unnecessary Cleverness

 Gotcha #12: Adolescent Behavior

 2

Syntax

 Gotcha #13: Array/Initializer Confusion

 Gotcha #14: Evaluation Order Indecision

 Gotcha #15: Precedence Problems

 Gotcha #16: for Statement Debacle

 Gotcha #17: Maximal Munch Problems

 Gotcha #18: Creative Declaration-Specifier Ordering

 Gotcha #19: Function/Object Ambiguity

 Gotcha #20: Migrating Type-Qualifiers

 Gotcha #21: Self Initialization

 Gotcha #22: Static and Extern Types

 Gotcha #23: Operator Function Lookup Anomaly

 Gotcha #24: Operator -- Subtleties

 3

The Preprocessor

 Gotcha #25: #define Literals

 Gotcha #26: #define Pseudofunctions

 Gotcha #27: Overuse of #if

 Gotcha #28: Side Effects in Assertions

 4

Conversions

 Gotcha #29: Converting Through void *

 Gotcha #30: Slicing

 Gotcha #31: Misunderstanding Pointer-to-Const Conversion

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

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

 Gotcha #34: Pointer-to-MultiDimensional Array Problems

 Gotcha #35: Unchecked Downcasting

 Gotcha #36: Misusing Conversion Operators

 Gotcha #37: Unintended Constructor Conversion

 Gotcha #38: Casting Under Multiple Inheritance

 Gotcha #39: Casting Incomplete Types

 Gotcha #40: Old-Style Casts

 Gotcha #41: Static Casts

 Gotcha #42: Temporary Initialization of Formal Arguments

 Gotcha #43: Temporary Lifetime

 Gotcha #44: References and Temporaries

 Gotcha #45: Ambiguity Failure of dynamic_cast

 Gotcha #46: Misunderstanding Contravariance

 5

Initialization

 Gotcha #47: Assignment/Initialization Confusion

 Gotcha #48: Improperly Scoped Variables

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

 Gotcha #50: Bitwise Copy of Class Objects

 Gotcha #51: Confusing Initialization and Assignment in Constructors

 Gotcha #52: Inconsistent Ordering of the Member Initialization List

 Gotcha #53: Virtual Base Default Initialization

 Gotcha #54: Copy Constructor Base Initialization

 Gotcha #55: Runtime Static Initialization Order

 Gotcha #56: Direct versus Copy Initialization

 Gotcha #57: Direct Argument Initialization

 Gotcha #58: Ignorance of the Return Value Optimizations

 Gotcha #59: Initializing a Static Member in a Constructor

 6

Memory and Resource Management

 Gotcha #60: Failure to Distinguish Scalar and Array Allocation

 Gotcha #61: Checking for Allocation Failure

 Gotcha #62: Replacing Global New and Delete

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

 Gotcha #64: Throwing String Literals

 Gotcha #65: Improper Exception Mechanics

 Gotcha #66: Abusing Local Addresses

 Gotcha #67: Failure to Employ Resource Acquisition Is Initialization

 Gotcha #68: Improper Use of auto_ptr

 7

Polymorphism

 Gotcha #69: Type Codes

 Gotcha #70: Nonvirtual Base Class Destructor

 Gotcha #71: Hiding Nonvirtual Functions

 Gotcha #72: Making Template Methods Too Flexible

 Gotcha #73: Overloading Virtual Functions

 Gotcha #74: Virtual Functions with Default Argument Initializers

 Gotcha #75: Calling Virtual Functions in Constructors and Destructors

 Gotcha #76: Virtual Assignment

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

 Gotcha #78: Failure to Grok Virtual Functions and Overriding

 Gotcha #79: Dominance Issues

 8

Class Design

 Gotcha #80: Get/Set Interfaces

 Gotcha #81: Const and Reference Data Members

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

 Gotcha #83: Failure to Distinguish Aggregation and Acquaintance

 Gotcha #84: Improper Operator Overloading

 Gotcha #85: Precedence and Overloading

 Gotcha #86: Friend versus Member Operators

 Gotcha #87: Problems with Increment and Decrement

 Gotcha #88: Misunderstanding Templated Copy Operations

 9

Hierarchy Design

 Gotcha #89: Arrays of Class Objects

 Gotcha #90: Improper Container Substitutability

 Gotcha #91: Failure to Understand Protected Access

 Gotcha #92: Public Inheritance for Code Reuse

 Gotcha #93: Concrete Public Base Classes

 Gotcha #94: Failure to Employ Degenerate Hierarchies

 Gotcha #95: Overuse of Inheritance

 Gotcha #96: Type-Based Control Structures

 Gotcha #97: Cosmic Hierarchies

 Gotcha #98: Asking Personal Questions of an Object

 Gotcha #99: Capability Queries

 Bibliography

 Index

0321125185T11072002


Brief Description:

Talks about C++.