Accelerated C++: Practical Programming by Example
Andrew Koenig, AT&T
Barbara E. Moo, AT&T

ISBN-10: 020170353X
ISBN-13: 9780201703535

Publisher: Addison-Wesley Professional
Copyright: 2000
Format: Paper; 352 pp
Published: 08/14/2000

Suggested retail price: $44.99
Buy from myPearsonStore

Accelerated C++ introduces a radical new approach to teaching C++. It starts with the most useful concepts rather than the most primitive ones, so the student can begin writing programs immediately. It describes real problems and solutions, not just language features. And it includes the standard library from the start. The authors proved the effectiveness of this approach in their courses at Stanford and Princeton, where their students learned to write substantial programs their first day in the classroom.

Discover the revolutionary, "instant results" system for learning C++!

  • Start with the ideas that help you get the most done with the least work!
  • Use the Standard Library and STL to solve real problems right away.
  • Based on the authors' breakthrough C++ immersion courses at Stanford University.



Preface.


0. Getting Started.

Comments.

#include.

The Main Function.

Curly Braces.

Using the Standard Library for Output.

The Return Statement.

A Slightly Deeper Look.

Details.



1. Working with Strings.

Input.

Framing a Name.

Details.



2. Looping and Counting.

The Problem.

Overall Structure.

Writing an Unknown Number of Rows.

Writing a Row.

The Complete Framing Program.

Counting.

Details.



3. Working with Batches of Data.

Computing Student Grades.

Using Medians Instead of Averages.

Details.



4.Organizing Programs and Data.

Organizing computations.

Organizing Data.

Putting it All Together.

Partitioning the Grading Program.

The Revised Grading Program.

Details.



5. Using Sequential Containers and Analyzing Strings.

Separating Students into Categories.

Iterators.

Using Iterators Instead of Indices.

Rethinking Our Data Structure for Better Performance.

The List Type.

Taking Strings Apart.

Testing Our Split Function.

Putting Strings Together.

Details.



6. Using Library Algorithms.

Analyzing Strings.

Comparing Grading Schemes.

Classifying Students, Revisited.

Algorithms, Containers, and Iterators.

Details.



7. Using Associative Containers.

Containers that Support Efficient Look-Up.

Counting Words.

Generating a Cross-Reference Table.

Generating Sentences.

A Note on Performance.

Details.



8. Writing Generic Functions.

What is a Generic Function?

Data-Structure Independence.

Input and Output Iterators.

Using Iterators for Flexibility.

Details.



9. Defining New Types.

Student_info revisited.

Class Types.

Protection.

The Student_info class.

Constructors.

Using the Student_info class.

Details.



10. Managing Memory and Low-Level Data Structures.

Pointers and Arrays.

String Literals Revisited.

Initializing Arrays of Character Pointers.

Arguments to Main.

Reading and Writing Files.

Three Kinds of Memory Management.

Details.



11. Defining Abstract Data Types.

The Vec Class.

Implementing the Vec Class.

Copy Control.

Dynamic Vecs.

Flexible Memory Management.

Details.



12. Making Class Objects Act Like Values.

A Simple String Class.

Automatic Conversions.

Str Operations.

Some Conversions are Hazardous.

Conversion Operators.

Conversions and Memory Management.

Details.



13. Using Inheritance and Dynamic Binding.

Inheritance.

Polymorphism and Virtual Functions.

Using Inheritance to Solve Our Problem.

A Simple Handle Class.

Using the Handle Class.

Subtleties.

Details.



14. Managing Memory (Almost) Automatically.

Handles that Copy their Objects.

Reference-Counted Handles.

Handles that Let you Decide When to Share Data.

An Improvement on Controllable Handles.

Details.



15. Revisiting Character Pictures.

Design.

Implementation.

Details.



16. Where Do We Go From Here?

Use the Abstractions You Have.

Learn More.



Appendix A. Language Details.

Declarations.

Types.

Expressions.

Statements.



Appendix B. Library Summary.

Input-Output.

Containers and Iterators.

Algorithms.



Index. 020170353XT04062001

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

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 Brück, founding member of the ANSI/ISO C++ committee

The authors present a clear, cogent introduction to C++ programming in a way that gets the student writing nontrivial programs immediately.

--Stephen Clamage, Sun Microsystems, Inc., and chair of the ANSI C++ committee

Anyone reading just this one book and working through the examples and exercises will have the same skills as many professional programmers.

--Jeffrey D. Oldham, Stanford University

Why is Accelerated C++ so effective? Because it

  • Starts with the most useful concepts rather than the most primitive ones: You can begin writing programs immediately.
  • Describes real problems and solutions, not just language features: You see not only what each feature is, but also how to use it.
  • Covers the language and standard library together: You can use the library right from the start.
The authors proved this approach in their professional-education course at Stanford University, where students learned how to write substantial programs on their first day in the classroom.

Whether you are eager to get started writing your first C++ programs, or you are already using C++ and seeking deeper understanding, the authors' unique approach and expertise make Accelerated C++ an indispensable addition to your library.



020170353XB04062001

View a Sample Chapter PDF:

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

This title is a member of the C++ In-Depth Series, which also contains the titles below . You can also visit the C++ In-Depth Series page.

  • 020170353XAccelerated C++: Practical Programming by Example
    Koenig & Moo
    © 2000 | Addison-Wesley Professional | Paper; 352 pages | Instock
    ISBN-10: 020170353X | ISBN-13: 9780201703535
    Brief Description | Buy from myPearsonStore

  • 0321108949Applied C++: Practical Techniques for Building Better Software
    Romanik & Muntz
    © 2003 | Addison-Wesley Professional | Paper; 352 pages | Instock
    ISBN-10: 0321108949 | ISBN-13: 9780321108944
    Brief Description | Buy from myPearsonStore

  • 0321113586C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
    Sutter & Alexandrescu
    © 2005 | Addison-Wesley Professional | Paper; 240 pages | Instock
    ISBN-10: 0321113586 | ISBN-13: 9780321113580
    Brief Description | Buy from myPearsonStore

  • 0201795256C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks
    Schmidt & Huston
    © 2003 | Addison-Wesley Professional | Paper; 384 pages | Instock
    ISBN-10: 0201795256 | ISBN-13: 9780201795257
    Brief Description | Buy from myPearsonStore

  • 0201604647C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns
    Schmidt & Huston
    © 2002 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0201604647 | ISBN-13: 9780201604641
    Buy from myPearsonStore

  • 0201485184Essential C++
    Lippman
    © 2000 | Addison-Wesley Professional | Paper; 304 pages | Instock
    ISBN-10: 0201485184 | ISBN-13: 9780201485189
    Brief Description | Buy from myPearsonStore

  • 0201760428Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
    Sutter
    © 2005 | Addison-Wesley Professional | Paper; 352 pages | Instock
    ISBN-10: 0201760428 | ISBN-13: 9780201760422
    Buy from myPearsonStore

  • 0201615622Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
    Sutter
    © 2000 | Addison-Wesley Professional | Paper; 240 pages | Instock
    ISBN-10: 0201615622 | ISBN-13: 9780201615623
    Buy from myPearsonStore

  • 0201704315Modern C++ Design: Generic Programming and Design Patterns Applied
    Alexandrescu
    © 2001 | Addison-Wesley Professional | Paper; 352 pages | Instock
    ISBN-10: 0201704315 | ISBN-13: 9780201704310
    Brief Description | Buy from myPearsonStore

  • 020170434XMore Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
    Sutter
    © 2002 | Addison-Wesley Professional | Paper; 304 pages | Instock
    ISBN-10: 020170434X | ISBN-13: 9780201704341
    Brief Description | Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.



Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions