skip to content
Advanced C++ : programming styles and idioms Preview this item
ClosePreview this item
Checking...

Advanced C++ : programming styles and idioms

Author: James O Coplien
Publisher: Reading, Mass. ; Wokingham : Addison-Wesley, ©1992
Edition/Format:   Print book : EnglishView all editions and formats
Database:WorldCat
Summary:

Looks at the design features of the C++ programming language. Assuming a background in the syntax of C++, it shows how to become an expert C++ programmer by learning the idioms of the language.

Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: James O Coplien
ISBN: 0201548550 9780201548556
OCLC Number: 60227192
Notes: "Reprinted with corrections February, 1994"--Title page verso.
Description: xxiv, 520 pages : illustrations ; 24 cm
Contents: Preface. 1. Introduction. C++: An Evolving Language. Handling Complexity with Idioms. Objects for the Nineties. Design and Language. 2. Data Abstraction and Abstract Data Types. Classes. Object Inversion. Constructors and Destructors. Inline Functions. Initialization of Static Data Members. Static Member Functions. Scoping and const. Initialization Ordering of Global Objects, Constants, and Static Class Members. Enforcement of const for Class Object Member Functions. Pointers to Member Functions. Program Organization Conventions. 3. Concrete Data Types. The Orthodox Canonical Class Form. Scoping and Access Control. Overloading: Redefining the Semantics of Operators and Functions. Type Conversion. Reference Counting: Making Variables Use "Magic Memory." Operators new and delete. Separating Initialization from Instantiation. 4. Inheritance. Simple Inheritance. Scoping and Access Control. Constructors and Destructors. Class Pointer Conversion. Type Selector Fields. 5. Object-Oriented Programming. C++ Run-Time Type Support: Virtual Functions. Destructor Interaction and Virtual Destructors. Virtual Functions and Scoping. Pure Virtual Functions and Abstract Base Classes. Envelope and Letter Classes. Functors: Functions as Objects. Multiple Inheritance. The Inheritance Canonical Form. 6. Object-Oriented Design. Types and Classes. The Activities of Object-Oriented Design. Object-Oriented Analysis and Domain Analysis. Object and Class Relationships. Subtyping, Inheritance and Forwarding. Rules of Thumb for Subtyping, Inheritance, and Independence. 7. Reuse and Objects. All Analogies Break Down Somewhere. Design Reuse. Four Code Reuse Mechanisms. Parameterized Types, or Templates. Private Inheritance: Does Inheritance Support Reuse? Storage Reuse. Interface Reuse: Variants. Reuse, Inheritance, and Forwarding. Architectural Alternatives for Source Reuse. Generalizations on Reuse and Objects. 8. Programming with Exemplars in C++. An Example: Employee Exemplars. Exemplars and Generic Constructors: The Exemplar Community Idiom. Autonomous Generic Constructors. Abstract Base Exemplars. Toward a Frame Exemplar Idiom. A Word About Notation. Exemplars and Program Administration. 9. Emulating Symbolic Language Styles in C++. Incremental C++ Development. Symbolic Canonical Form. An Example: A General Collection Class. Code and Idioms To Support Incremental Loading. Garbage Collection. Primitive Type Encapsulation. Multi-Methods under the Symbolic Idiom. 10. Dynamic Multiple Inheritance. An Example: A Multi-Technology Window System. Caveats. 11. Systemic Issues. Static System Design. Dynamic System Design. Appendix A: C in a C++ Environment. Function Calls. Function Parameters. Function Prototypes. Call-by-Reference Parameters. Variable Number of Parameters. Function Pointers. The const Type Modifier. Interfacing with C Code. Appendix B: Shapes Program: C++ Code. Appendix C: Reference Return Values from Operators. Appendix D: Why Bitwise Copy Doesn't Work. Why Member-by-Member Copy Isn't a Panacea. Appendix E: Symbolic Shapes. Appendix F: Block-Structured Programming in C++. What is Block-Structured Programming? Basic Building Blocks for Structured C++ Programming. An Alternative for Blocks with Deeply Nested Scopes. Implementation Considerations Block-Structure Video Game Code. Index. 0201548550T04062001
Responsibility: James O. Coplien.

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/60227192> # Advanced C++ : programming styles and idioms
    a schema:CreativeWork, schema:Book ;
   library:oclcnum "60227192" ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/28880901#Place/wokingham> ; # Wokingham
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/28880901#Place/reading_mass> ; # Reading, Mass.
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/enk> ;
   schema:about <http://id.worldcat.org/fast/843286> ; # C++ (Computer program language)
   schema:about <http://dewey.info/class/005.262/e20/> ;
   schema:about <http://experiment.worldcat.org/entity/work/data/28880901#Topic/c++_langage_de_programmation> ; # C++ (Langage de programmation)
   schema:about <http://experiment.worldcat.org/entity/work/data/28880901#Topic/c++> ; # C++
   schema:bookFormat bgn:PrintBook ;
   schema:copyrightYear "1992" ;
   schema:creator <http://viaf.org/viaf/112123875> ; # James O. Coplien
   schema:datePublished "1994" ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/28880901> ;
   schema:inLanguage "en" ;
   schema:name "Advanced C++ : programming styles and idioms"@en ;
   schema:productID "60227192" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/60227192#PublicationEvent/reading_mass_wokingham_addison_wesley_1992_1994_printing> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/28880901#Agent/addison_wesley> ; # Addison-Wesley
   schema:url <http://www.gbv.de/dms/bowker/toc/9780201548556.pdf> ;
   schema:workExample <http://worldcat.org/isbn/9780201548556> ;
   umbel:isLike <http://bnb.data.bl.uk/id/resource/GB9527040> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/60227192> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/28880901#Agent/addison_wesley> # Addison-Wesley
    a bgn:Agent ;
   schema:name "Addison-Wesley" ;
    .

<http://experiment.worldcat.org/entity/work/data/28880901#Topic/c++_langage_de_programmation> # C++ (Langage de programmation)
    a schema:Intangible ;
   schema:name "C++ (Langage de programmation)"@fr ;
   schema:name "C++ (Langage de programmation)"@en ;
    .

<http://id.worldcat.org/fast/843286> # C++ (Computer program language)
    a schema:Intangible ;
   schema:name "C++ (Computer program language)"@en ;
    .

<http://viaf.org/viaf/112123875> # James O. Coplien
    a schema:Person ;
   schema:familyName "Coplien" ;
   schema:givenName "James O." ;
   schema:name "James O. Coplien" ;
    .

<http://worldcat.org/isbn/9780201548556>
    a schema:ProductModel ;
   schema:isbn "0201548550" ;
   schema:isbn "9780201548556" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.