Home > Store > Programming > C/C++

Designing and Coding Reusable C++

Register your product to gain access to bonus material or receive a coupon.

Designing and Coding Reusable C++

Book

  • Your Price: $37.59
  • List Price: $46.99
  • Usually ships in 24 hours.

Description

  • Copyright 1995
  • Dimensions: 6-1/4x9-1/4
  • Pages: 336
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-51284-X
  • ISBN-13: 978-0-201-51284-7

One of the important benefits of programming in C++ is its reuse capabilities. Designing and Implementing Reusable C++ illustrates and enumerates all of the tradeoffs involved in writing reusable code. The authors discuss the topics related to the software development of code reusability in the design of interfaces, the efficiency of implementations, portability, and compatibility. The advantages and disadvantages of the alternatives are discussed in depth so that programmers can make informed decisions. Novice and experienced programmers alike will benefit from the ideas presented by the authors to produce reusable C++ code.



020151284XB04062001

Sample Content

Table of Contents



Introduction To Reusability.

What is Reusability?

Myths of Reuse.

Obstacles to Reuse.

Is There Any Hope?

How This Book Can Help.



Class Design.

Abstraction.

Regular Functions.

Nice Classes.

A Minimal Standard Interface?

Shallow and Deep Copy.

Interface Consistency.

Conversions.

Use of const.

Summary.



Extensibility.

Tradeoffs of Extensibility.

Extensibility and Inheritance.

Inheritance Semantics.

Obstacles to Inheritability.

The Derived Assignment Problem.

Allowing Invasive Inheritance.

Summary.



Efficiency.

Efficiency and Reusability.

Build Time.

Code Size.

Run Time.

Free-Store and Stack Space.

Tradeoffs of Efficiency.

Summary.



Errors.

Errors in Reusable Code.

Error Detection.

Handling Errors.

Resource-Limit Errors.

Exception Safety.

Summary.



Conflict.

Global Names.

Macro Names.

Environmental Names.

Unclean Libraries.

Good-Citizen Libraries .

Summary.



Compatibility.

Backward and Forward Compatibility.

Forms of Compatibility.

Source Compatibility in Theory.

Source Compatibility in Practice.

Link Compatibility.

Run Compatibility.

Process Compatibility.

Documenting Incompatibilities.

Undocumented Properties.

Summary.



Inheritance Hierarchies.

Rootedness, Depth, and Fanout.

Hierarchy Styles.

Templates or Inheritance?

Summary.



Portability.

Should You Write Portable Code?

The Evolving Language Definition.

Undefined Behavior.

Legal, Nonportable Code.

Implementation Dependencies.

Portable Data Files.

Template Instantiation.

Run-Time Libraries.

Other Portability Concerns.

Summary.



Using Other Libraries.

Why Reuse Other Libraries?

Drawbacks of Reusing Other Libraries.

Self-Contained Libraries.

Summary.



Documentation.

Documentation and Reusability.

The Design Paper.

Tutorials.

Reference Manual.

Summary.



Miscellaneous Topics.

The Static Initialization Problem.

The Principle of Localized Cost.

Endogenous and Exogenous Classes.

Iterators.

Class Coupling.

Deferring Decisions.

Summary. 020151284XT04062001

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership