Accelerated C++: Practical Programming by Example / Edition 1

Paperback (Print)
Rent
Rent from BN.com
$15.08
(Save 70%)
Est. Return Date: 06/17/2014
Buy Used
Buy Used from BN.com
$29.41
(Save 41%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $25.51
Usually ships in 1-2 business days
(Save 48%)
Other sellers (Paperback)
  • All (11) from $25.51   
  • New (5) from $36.37   
  • Used (6) from $25.51   

Overview

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

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
There have been an awful lot of introductory C++ books, but most follow the same path: Master (or review) the features of C, then learn about classes, then slog systematically through the rest of C++, eventually solving some real problems. Accelerated C++ takes a very different approach. Leveraging the power of data structures, the standard library, and STL, Koenig and Moo demonstrate how to write useful programs immediately. Then, they introduce each essential feature of the language in the context of solving real, increasingly challenging problems.

Now this is more like it. You don't just feel like you're getting somewhere a whole lot faster: You are, because Koenig and Moo have craftily hidden the complexities until you need to understand them. Unlike many traditional C++ guides, you're not forced to learn the hard way first. Eventually, the authors do explain the foundations on which the data structures and libraries rest, but only when you're in a position to appreciate them.

If you're wondering whether this approach works, it has certainly worked at Stanford, where the authors are responsible for the university's summer C++ immersion courses. By now, the buzz on this book has gone far beyond Stanford, and it's thoroughly worthy of the hype. (Bill Camarda)

Bill Camarda is a consultant and writer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Booknews
The unconventional approach of this textbook starts with the most useful parts of C++ rather than the most primitive ones, introducing the language and standard library together from the very beginning. The authors concentrate more on solving problems than on exploring language and library features. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201703535
  • Publisher: Addison-Wesley
  • Publication date: 8/14/2000
  • Series: C++ In-Depth Series
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 352
  • Sales rank: 204,052
  • Product dimensions: 7.32 (w) x 9.25 (h) x 0.73 (d)

Meet the Author

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

Read More Show Less

Read an Excerpt

A new approach to C++ programming

We assume that you want to learn quickly how to write useful C++ programs. Therefore, we start by explaining the most useful parts of C++. This strategy may seem obvious when we put it that way, but it has the radical implication that we do not begin by teaching C, even though C++ builds on C. Instead, we use high-level data structures from the start, explaining only later the foundations on which those data structures rest. This approach lets you to begin writing idiomatic C++ programs immediately.

Our approach is unusual in another way: We concentrate on solving problems, rather than on exploring language and library features. We explain the features, of course, but we do so in order to support the programs, rather than using the programs as an excuse to demonstrate the features.

Because this book teaches C++ programming, not just features, it is particularly useful for readers who already know some C++, and who want to use the language in a more natural, effective style. Too often, people new to C++ learn the language mechanics without learning how to apply the language to everyday problems.

Our approach works—for beginners and experienced programmers
We used to teach a week-long intensive C++ course every summer at Stanford University. We originally adopted a traditional approach to that course: Assuming that the students already knew C, we started by showing them how to define classes, and then moved systematically through the rest of the language. We found that our students would be confused and frustrated for about two days—until they had learned enough that they could start writing useful programs. Once they got to that point, they learned quickly.

When we got our hands on a C++ implementation that supported enough of what was then the brand-new standard library, we overhauled the course. The new course used the library right from the beginning, concentrated on writing useful programs, and went into details only after the students had learned enough to use those details productively.

The results were dramatic: After one day in the classroom, our students were able to write programs that had taken them most of the week in the old course. Moreover, their frustration vanished.

Abstraction
Our approach is possible only because C++, and our understanding of it, has had time to mature. That maturity has let us ignore many of the low-level ideas that were the mainstay of earlier C++ programs and programmers.

The ability to ignore details is characteristic of maturing technologies. For example, early automobiles broke down so often that every driver had to be an amateur mechanic. It would have been foolhardy to go for a drive without knowing how to get back home even if something went wrong. Today's drivers don't need detailed engineering knowledge in order to use a car for transportation. They may wish to learn the engineering details for other reasons, but that's another story entirely.

We define abstraction as selective ignorance—concentrating on the ideas that are relevant to the task at hand, and ignoring everything else—and we think that it is the most important idea in modern programming. The key to writing a successful program is knowing which parts of the problem to take into account, and which parts to ignore. Every programming langauge offers tools for creating useful abstractions, and every successful programmer knows how to use those tools.

We think abstractions are so useful that we've filled this book with them. Of course, we don't usually call them abstractions directly, because they come in so many forms. Instead, we refer to functions, data structures, classes, and inheritance—all of which are abstractions. Not only do we refer to them, but we use them throughout the book.

If abstractions are well designed and well chosen, we believe that we can use them even if we don't understand all the details of how they work. We do not need to be automotive engineers to drive a car, nor do we need to understand everything about how C++ works before we can use it.

Coverage
If you are serious about C++ programming, you need to know everything in this book—even though this book doesn't tell you everything you need to know.

This statement is not as paradoxical as it sounds. No book this size can contain everything you'll ever need to know about C++, because different programmers and applications require different knowledge. Therefore, any book that covers all of C++—such as Stroustrup's The C++ Programming Language (Addison-Wesley, 2000)—will inevitably tell you a lot that you don't need to know. Someone else will need it, even if you don't.

On the other hand, many parts of C++ are so universally important that it is hard to be productive without understanding them. We have concentrated on those parts. It is possible to write a wide variety of useful programs using only the information in this book. Indeed, one of our reviewers, who is the lead programmer for a substantial commercial system written in C++, told us that this book covers essentially all of the facilities that he uses in his work.

Using these facilities, you can write true C++ programs—not C++ programs in the style of C, or any other language. Once you have mastered the material in this book, you will know enough to figure out what else you want to learn, and how to go about it. Amateur telescope makers have a saying that it is easier to make a 3-inch mirror and then to make a 6-inch mirror than to make a 6-inch mirror from scratch.

We cover only standard C++, and ignore proprietary extensions. This approach has the advantage that the programs that we teach you to write will work just about anywhere. However, it also implies that we do not talk about how to write programs that run in windowing environments, because such programs are invariably tied to a specific environment, and often to a specific vendor. If you want to write programs that will work only in a particular environment, you will have to turn elsewhere to learn how to do so—but don't put this book down quite yet! Because our approach is universal, you will be able to use everything that you learn here in whatever environments you use in the future. By all means, go ahead and read that book about GUI applications that you were considering—but please read this one first.

A note to experienced C and C++ programmers
When you learn a new programming language, you may be tempted to write programs in a style that is familiar from the languages that you already know. Our approach seeks to avoid that temptation by using high-level abstractions from the C++ standard library right from the start. If you are already an experienced C or C++ programmer, this approach contains some good news and some bad news—and it's the same news. The news is that you are likely to be surprised at how little of your knowledge will help you understand C++ as we present it. You will have more to learn at first than you might expect (which is bad), but you will learn more quickly than you might expect (which is good). In particular, if you already know C++, you probably learned first how to program in C, which means that your C++ programming style is built on a C foundation. There is nothing wrong with that approach, but our approach is so different that we think you'll see a side of C++ that you haven't seen before.

Of course, many of the syntactic details will be familiar, but they're just details. We treat the important ideas in a completely different order from what you've probably encountered. For example, we don't mention pointers or arrays until Chapter 10, and we're not even going to discuss your old favorites, printf and malloc, at all. On the other hand, we start talking about the standard-library string class in Chapter 1. When we say we're adopting a new approach, we mean it!

Structure of this book
You may find it convenient to think of this book as being in two parts. The first part, through Chapter 7, concentrates on programs that use standard-library abstractions. The second part, starting with Chapter 8. talks about defining your own abstractions.

Presenting the library first is an unusual idea, but we think it's right. Much of the C++ language—especially the harder parts—exists mostly for the benefit of library authors. Library users don't need to know those parts of the language at all. By ignoring those parts of the language until the second part of the book, we make it possible to write useful C++ programs much more quickly than if we had adopted a more conventional approach.

Once you have understood how to use the library, you will be ready to learn about the low-level facilities on which the library is built, and how to use those facilities to write your own libraries. Moreover, you will have a feeling for how to make a library useful, and when to avoid writing new library code altogether.

Although this book is smaller than many C++ books, we have tried to use every important idea at least twice, and key ideas more than that. As a result, many parts of the book refer to other parts. These references look like §39.4.3/857, which refers to text on page 857 that is part of section 39.4.3—or at least it would do so if this book had that many sections or pages. The first time we explain each idea, we mention it in bold italic type to make it easy to find and to call your attention to it as an important point.

Every chapter (except the last) concludes with a section called "Details." These sections serve two purposes: They make it easy to remember the ideas that the chapter introduced, and they cover additional, related material that we think you will need to know eventually. We suggest that you skim these sections on first reading, and refer back to them later as needed.

The two appendices summarize and elucidate the important parts of the language and library at a level of detail that we hope will be useful when you are writing programs.

Getting the most out of this book
Every book about programming includes example programs, and this one is no different. In order to understand how these programs work, there is no substitute for running them on a computer. Such computers abound, and new ones appear constantly—which means that anything we might say about them would be inaccurate by the time you read these words. Therefore, if you do not yet know how to compile and execute a C++ program, please visit http://www.acceleratedcpp.com and see what we have to say there. We will update that website from time to time with information and advice about the mechanics of running C++ programs. The site also offers machine-readable versions of some of the example programs, and other information that you might find interesting.

Andrew Koenig Barbara E. Moo
Gillette, New Jersey June 2000

Read More Show Less

Table of Contents

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

Read More Show Less

Preface

A new approach to C++ programming

We assume that you want to learn quickly how to write useful C++ programs. Therefore, we start by explaining the most useful parts of C++. This strategy may seem obvious when we put it that way, but it has the radical implication that we do not begin by teaching C, even though C++ builds on C. Instead, we use high-level data structures from the start, explaining only later the foundations on which those data structures rest. This approach lets you to begin writing idiomatic C++ programs immediately.

Our approach is unusual in another way: We concentrate on solving problems, rather than on exploring language and library features. We explain the features, of course, but we do so in order to support the programs, rather than using the programs as an excuse to demonstrate the features.

Because this book teaches C++ programming, not just features, it is particularly useful for readers who already know some C++, and who want to use the language in a more natural, effective style. Too often, people new to C++ learn the language mechanics without learning how to apply the language to everyday problems.

Our approach works--for beginners and experienced programmers
We used to teach a week-long intensive C++ course every summer at Stanford University. We originally adopted a traditional approach to that course: Assuming that the students already knew C, we started by showing them how to define classes, and then moved systematically through the rest of the language. We found that our students would be confused and frustrated for about two days--until they had learned enough that they could start writing useful programs. Once they got to that point, they learned quickly.

When we got our hands on a C++ implementation that supported enough of what was then the brand-new standard library, we overhauled the course. The new course used the library right from the beginning, concentrated on writing useful programs, and went into details only after the students had learned enough to use those details productively.

The results were dramatic: After one day in the classroom, our students were able to write programs that had taken them most of the week in the old course. Moreover, their frustration vanished.

Abstraction
Our approach is possible only because C++, and our understanding of it, has had time to mature. That maturity has let us ignore many of the low-level ideas that were the mainstay of earlier C++ programs and programmers.

The ability to ignore details is characteristic of maturing technologies. For example, early automobiles broke down so often that every driver had to be an amateur mechanic. It would have been foolhardy to go for a drive without knowing how to get back home even if something went wrong. Today's drivers don't need detailed engineering knowledge in order to use a car for transportation. They may wish to learn the engineering details for other reasons, but that's another story entirely.

We define abstraction as selective ignorance--concentrating on the ideas that are relevant to the task at hand, and ignoring everything else--and we think that it is the most important idea in modern programming. The key to writing a successful program is knowing which parts of the problem to take into account, and which parts to ignore. Every programming langauge offers tools for creating useful abstractions, and every successful programmer knows how to use those tools.

We think abstractions are so useful that we've filled this book with them. Of course, we don't usually call them abstractions directly, because they come in so many forms. Instead, we refer to functions, data structures, classes, and inheritance--all of which are abstractions. Not only do we refer to them, but we use them throughout the book.

If abstractions are well designed and well chosen, we believe that we can use them even if we don't understand all the details of how they work. We do not need to be automotive engineers to drive a car, nor do we need to understand everything about how C++ works before we can use it.

Coverage
If you are serious about C++ programming, you need to know everything in this book--even though this book doesn't tell you everything you need to know.

This statement is not as paradoxical as it sounds. No book this size can contain everything you'll ever need to know about C++, because different programmers and applications require different knowledge. Therefore, any book that covers all of C++--such as Stroustrup's The C++ Programming Language (Addison-Wesley, 2000)--will inevitably tell you a lot that you don't need to know. Someone else will need it, even if you don't.

On the other hand, many parts of C++ are so universally important that it is hard to be productive without understanding them. We have concentrated on those parts. It is possible to write a wide variety of useful programs using only the information in this book. Indeed, one of our reviewers, who is the lead programmer for a substantial commercial system written in C++, told us that this book covers essentially all of the facilities that he uses in his work.

Using these facilities, you can write true C++ programs--not C++ programs in the style of C, or any other language. Once you have mastered the material in this book, you will know enough to figure out what else you want to learn, and how to go about it. Amateur telescope makers have a saying that it is easier to make a 3-inch mirror and then to make a 6-inch mirror than to make a 6-inch mirror from scratch.

We cover only standard C++, and ignore proprietary extensions. This approach has the advantage that the programs that we teach you to write will work just about anywhere. However, it also implies that we do not talk about how to write programs that run in windowing environments, because such programs are invariably tied to a specific environment, and often to a specific vendor. If you want to write programs that will work only in a particular environment, you will have to turn elsewhere to learn how to do so--but don't put this book down quite yet! Because our approach is universal, you will be able to use everything that you learn here in whatever environments you use in the future. By all means, go ahead and read that book about GUI applications that you were considering--but please read this one first.

A note to experienced C and C++ programmers
When you learn a new programming language, you may be tempted to write programs in a style that is familiar from the languages that you already know. Our approach seeks to avoid that temptation by using high-level abstractions from the C++ standard library right from the start. If you are already an experienced C or C++ programmer, this approach contains some good news and some bad news--and it's the same news. The news is that you are likely to be surprised at how little of your knowledge will help you understand C++ as we present it. You will have more to learn at first than you might expect (which is bad), but you will learn more quickly than you might expect (which is good). In particular, if you already know C++, you probably learned first how to program in C, which means that your C++ programming style is built on a C foundation. There is nothing wrong with that approach, but our approach is so different that we think you'll see a side of C++ that you haven't seen before.

Of course, many of the syntactic details will be familiar, but they're just details. We treat the important ideas in a completely different order from what you've probably encountered. For example, we don't mention pointers or arrays until Chapter 10, and we're not even going to discuss your old favorites, printf and malloc, at all. On the other hand, we start talking about the standard-library string class in Chapter 1. When we say we're adopting a new approach, we mean it!

Structure of this book
You may find it convenient to think of this book as being in two parts. The first part, through Chapter 7, concentrates on programs that use standard-library abstractions. The second part, starting with Chapter 8. talks about defining your own abstractions.

Presenting the library first is an unusual idea, but we think it's right. Much of the C++ language--especially the harder parts--exists mostly for the benefit of library authors. Library users don't need to know those parts of the language at all. By ignoring those parts of the language until the second part of the book, we make it possible to write useful C++ programs much more quickly than if we had adopted a more conventional approach.

Once you have understood how to use the library, you will be ready to learn about the low-level facilities on which the library is built, and how to use those facilities to write your own libraries. Moreover, you will have a feeling for how to make a library useful, and when to avoid writing new library code altogether.

Although this book is smaller than many C++ books, we have tried to use every important idea at least twice, and key ideas more than that. As a result, many parts of the book refer to other parts. These references look like §39.4.3/857, which refers to text on page 857 that is part of section 39.4.3--or at least it would do so if this book had that many sections or pages. The first time we explain each idea, we mention it in bold italic type to make it easy to find and to call your attention to it as an important point.

Every chapter (except the last) concludes with a section called "Details." These sections serve two purposes: They make it easy to remember the ideas that the chapter introduced, and they cover additional, related material that we think you will need to know eventually. We suggest that you skim these sections on first reading, and refer back to them later as needed.

The two appendices summarize and elucidate the important parts of the language and library at a level of detail that we hope will be useful when you are writing programs.

Getting the most out of this book
Every book about programming includes example programs, and this one is no different. In order to understand how these programs work, there is no substitute for running them on a computer. Such computers abound, and new ones appear constantly--which means that anything we might say about them would be inaccurate by the time you read these words. Therefore, if you do not yet know how to compile and execute a C++ program, please visit http://www.acceleratedcpp.com and see what we have to say there. We will update that website from time to time with information and advice about the mechanics of running C++ programs. The site also offers machine-readable versions of some of the example programs, and other information that you might find interesting.

Andrew Koenig Barbara E. Moo
Gillette, New Jersey June 2000

020170353XP10242001

Read More Show Less

Customer Reviews

Average Rating 4.5
( 5 )
Rating Distribution

5 Star

(3)

4 Star

(2)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 5 Customer Reviews
  • Anonymous

    Posted October 28, 2004

    An amazing book

    I learned C++ back in my freshman year of college, but I learned it incorrectly. The standard was just finished but my classes weren't teaching it. I tried to simply read advanced books and articles on C++ programming, hoping that I would pick it up as I go, but my understanding was so fundamentally flawed that simple topics and the STL bogged me down. Then I found this book, and I have to say that it has been a big help. Within the first two chapters I already got myself reaquainted with cout/cin in a more intimate way than before, as well as understanding the class string. I believe that even if you have no experience with C++ you will definitely find this book to be valuable.

    2 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 15, 2002

    Unique presentation

    This is a book for those who want to learn C++ step-by-step and in the context of the topics in the book. One has to complete each chapter before proceeding to the next to be able to grasp the information presented. This is not a book for those who are just starting in the field of computer programming.

    2 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted February 9, 2009

    No text was provided for this review.

  • Anonymous

    Posted June 11, 2012

    No text was provided for this review.

  • Anonymous

    Posted March 4, 2011

    No text was provided for this review.

Sort by: Showing all of 5 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)