Ruminations on C++ (häftad)
Format
Häftad (Paperback)
Språk
Engelska
Antal sidor
400
Utgivningsdatum
1996-08-01
Upplaga
1
Förlag
Addison Wesley
Medarbetare
Moo, Barbara E.
Illustrationer
Illustrations
Dimensioner
235 x 160 x 23 mm
Vikt
580 g
Antal komponenter
1
ISBN
9780201423396

Ruminations on C++

A Decade of Programming Insight and Experience

Häftad,  Engelska, 1996-08-01

Slutsåld



A book that stands out from the herd. Ruminations on C++ concentrates on the key C++ ideas and programming techniques--skimming the cream--to let you understand the "why" and not just the "how" of C++ programming. You need not be an expert C++ programmer to find solid fodder here, yet even experts need not fear overgrazing: You will find something worth chewing on in every chapter.

This should be your next C++ book, because it
  • covers a broad range of C++ ideas and techniques, from detailed code examples to design principles and philosophy
  • shows how to think about programming in C++, not just how to follow rules
  • explains the motivation behind its examples; sometimes even solving the same problem in two different ways
  • covers both object-oriented programming and generic programming
  • explains the ideas behind the Standard Template Library, which is the most important recent innovation in C++.
This book comes to you from two people who started using C++ when its entire user community could still fit in one room. Both of them have contributed significantly to the evolution of C++.

0201423391B04062001
Visa hela texten

Kundrecensioner

Har du läst boken? Sätt ditt betyg »

Fler böcker av Andrew Koenig

  • Accelerated C++: Practical Programming by Example

    Andrew Koenig, Barbara E Moo

    This is a first-rate introductory book that takes a practical approach to solving problems using C++. It covers a much wider scope of C++ programming than other introductory books I've seen, and in a surprisingly compact format. --Dag Brck, foundi...

Övrig information

Andrew Koenig is a member of the Large-Scale Programming Research Department at AT&T's Shannon Laboratory, and the Project Editor of the C++ standards committee. A programmer for more than 30 years, 15 of them in C++, he has published more than 150 articles about C++, and speaks on the topic worldwide. Barbara E. Moo is an independent consultant with 20 years' experience in the software field. During her nearly 15 years at AT&T, she worked on one of the first commercial products ever written in C++, managed the company's first C++ compiler project, and directed the development of AT&T's award-winning WorldNet Internet service business. 0

Innehållsförteckning



Preface.


Prelude.

First Try.

Doing it without Classes.

Why was it Easier in C++?

A Bigger Example.

Conclusion.

I. MOTIVATION.

1. Why I Use C++.

The Problem.

History and Context.

Automatic Software Distribution.

Enter C++.

Recycled Software.

Postscript.

2. Why I Work on C++.

The Success of Small Projects.

Abstraction.

Machines Should Work for People.

3. Living in the Real World.

II. CLASSES aND INHERITANCE.

4. Checklist for Class Authors.
5. Surrogate Classes.

The Problem.

The Classical Solution.

Virtual Copy Functions.

Defining a Surrogate Class.

Summary.

6. Handles: Part 1.

The Problem.

A Simple Class.

Attaching a Handle.

Getting at the Object.

Simple Implementation.

Use-Counted Handles.

Copy on Write.

Discussion.

7. Handles: Part 2.

Review.

Separating the use Count.

Abstraction of use Counts.

Access Functions and Copy on Write.

Discussion.

8. An Object-Oriented Program.

The Problem.

An Object-Oriented Solution.

Handle Classes.

Extension 1: New Operations.

Extension 2: New Node Types.

Reflections.

9. Analysis of a Classroom Exercise: Part 1.

The Problem.

Designing the Interface.

A Few Loose Ends.

Testing the Interface.

Strategy.

Tactics.

Combining Pictures.

Conclusion.

10. Analysis of a Classroom Exercise: Part 2.

Strategy.

Exploiting the Structure.

Conclusion.

11. When not to use Virtual Functions.

The Case For.

The Case Against.

Destructors are Special.

Summary.

III. TEMPLATES.

12. Designing a Container Class.

What Does it Contain?

What Does Copying the Container Mean?

How Do You Get at Container Elements?

How Do You Distinguish Reading from Writing?

How Do You Handle Container Growth?

What Operations Does the Container Provide?

What Do You Assume about the Container Element Type?

Containers and Inheritance.

Designing an Arraylike Class.

13. Accessing Container Elements.

Imitating a Pointer.

Getting at the Data.

Remaining Problems.

Pointer to Const Array.

Useful Additions.

<...