C++ gotchas : avoiding common problems in coding and design; Stephen C. Dewhurst; 2003
Begagnad
C++ gotchas : avoiding common problems in coding and design; Stephen C. Dewhurst; 2003
Begagnad

C++ gotchas : avoiding common problems in coding and design

av Stephen C. Dewhurst

  • Utgiven: 2003
  • ISBN: 9780321125187
  • Sidor: 352 st
  • Förlag: Addison-Wesley
  • Format: Häftad
  • Språk: Engelska

Om boken

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

Åtkomstkoder och digitalt tilläggsmaterial garanteras inte med begagnade böcker

Mer om C++ gotchas : avoiding common problems in coding and design (2003)

2003 släpptes boken C++ gotchas : avoiding common problems in coding and design skriven av Stephen C. Dewhurst. Den är skriven på engelska och består av 352 sidor. Förlaget bakom boken är Addison-Wesley.

Köp boken C++ gotchas : avoiding common problems in coding and design på Studentapan och spara pengar.

Referera till C++ gotchas : avoiding common problems in coding and design

Harvard

Dewhurst, S. C. (2003). C++ gotchas : avoiding common problems in coding and design. Addison-Wesley.

Oxford

Dewhurst, Stephen C., C++ gotchas : avoiding common problems in coding and design (Addison-Wesley, 2003).

APA

Dewhurst, S. C. (2003). C++ gotchas : avoiding common problems in coding and design. Addison-Wesley.

Vancouver

Dewhurst SC. C++ gotchas : avoiding common problems in coding and design. Addison-Wesley; 2003.

Köp boken