000 03032pam a2200181 a 4500
999 _c6484
_d6484
020 _a0201563827 (pbk. : recycled paper)
020 _a9780201563825
050 0 0 _aQA76.73.C15
_b.M87
100 1 _aMurray, Robert B.
245 1 0 _aC++ strategies and tactics /
_cRobert B. Murray.
260 _aReading, Mass. :
_bAddison-Wesley Pub. Co.,
_cc1993.
300 _axiv, 282 p. :
_bill. ;
_c24 cm.
440 0 _aAddison-Wesley professional computing series
500 _aIncludes index.
505 _aA note about the code examples -- A road map -- The language rules -- Abstraction -- A telephone number abstraction -- Relationships between abstractions -- Worrying about the boundary conditions -- Designing with CRC cards -- In short -- Classes -- Constructors -- Assignment -- Public data -- Implicit type conversions -- Overloaded operators: members or nonmembers? -- Overloading, defaults, and ellipsis -- Const -- Returning references -- Static constructors -- In short -- Handles -- A String class -- Avoiding copies with use counts -- Avoiding recompilations: the Cheshire Cat -- Using handles to hide the design -- Multiple implementations -- Handles as objects -- In short -- Inheritance -- The is-a relationship -- Public inheritance -- Private inheritance -- Protected inheritance -- Conformance to base class abstractions -- Pure virtual functions -- Inheritance details and traps -- In short -- Multiple Inheritance -- Multiple inheritance as set intersection -- Virtual base classes -- Some multiple inheritance details -- In short -- Designing for Inheritance -- The protected interface -- Should you design for inheritance -- Design for inheritance: some examples -- In short -- Templates -- A Pair class template -- Some template details -- Template instantiation -- Smart pointers -- Expression arguments to templates -- Function templates -- In short -- Advanced Templates -- Container classes using templates -- Example: a Block class -- Detailed Block design issues -- Containers with iterators: a List class -- Iterator design issues -- Performance issues -- Constraints on template arguments -- Template specializations -- In short -- Reusability -- Discovery and acquisition -- Robustness -- Memory management -- Alternative memory allocation schemes -- Passing arguments to operator new -- Managing external resources -- Finding memory bugs -- Name collisions -- Performance -- Don't guess, measure! -- Algorithms -- Bottlenecks in dynamic memory allocation -- Inlines -- Tiemann's law -- In short -- Exceptions -- A disclaimer -- Why exceptions? -- An example exception -- Exceptions should be exceptional -- Understanding exceptions -- Blame assessment -- Designing the exception object -- In short -- Moving your project to C++ -- Choosing C++ -- Adopting C++ -- Design and implementation -- Developing an asset base -- A closing thought -- In short.
650 0 _aC++ (Computer program language)
942 _cBK