Always Learning

C++ Primer, 3/E
Stanley B. Lippman
Josée Lajoie

ISBN-10: 0201824701
ISBN-13:  9780201824704

Publisher:  Addison-Wesley Professional
Copyright:  1998
Format:  Paper; 1264 pp
Published:  04/02/1998
Status: Out of Stock


    New edition available


Print this content

In this section:


Description

C++ Primer, Third Edition, combines the practical experience and writing of Stanley Lippman, and the inside knowledge of the ANSI/ISO Standards Draft from Josee Lajoie. Completely rewritten, this tutorial is driven by examples which help the novice C++ programmer solve problems in terms of choice of language features, implementation, and efficiency. Programming aspects of the language are presented in the context of solving a particular problem or programming task. Language rules are given both to clearly introduce the rule and provide a reference to it. The book covers the new C++ Standard Library, including extensive treatment of what was formerly known as the Standard Template Library (STL), as well as the string and complex class types. It also examines the new language features introduced into the International Standard, such as Exception Handling, Run-Time Type Identification, Namespaces, the built-in bool type, and new-style cast-notation.


Table of Contents



Preface.


Structure of This Book.


Changes to the Third Edition.


The Future of C++.


Acknowledgments.


Acknowledgments to the Second Edition.


Bibliography.

I. GETTING STARTED.

1. A Journey of 1000 Miles.

Problem Solving.

The C++ Program.

Preprocessor Directives.

A Word About Comments.

A First Look at Input/Output.

2. A Tour of C++.

The Built-In Array Data Type.

Dynamic Memory Allocation and Pointers.

An Object-Based Design.

An Object-Oriented Design.

A Generic Design.

An Exception-Based Design.

An Array by Any Other Name.

The Standard Array Is a Vector.

II. THE BASIC LANGUAGE.

3. Data Types.

Literal Constant.

Variables.

Pointer Types.

String Types.

const Qualifier.

Reference Types.

The bool Type.

Enumeration Types.

Array Types.

The vector Container Type.

complex Number Types.

Typedef Names.

volatile Qualifier.

The pair Type.

Class Types.

4. Expression.

What Is an Expression?

Arithmetic Operators.

Equality, Relational, and Logical Operators.

Assignment Operators.

Increment and Decrement Operators.

Complex Number Operations.

The Conditional Operator.

The sizeof Operator.

The new and delete Expressions.

Comma Operator.

The Bitwise Operators.

bitset Operations.

Precedence.

Type Conversions.

A Stack Class Example.

5. Statements.

Simple and Compound Statements.

Declaration Statement.

The if Statement.

The switch Statement.

The for Loop Statement.

The while Statement.

The do while Statement.

The break Statement.

The continue Statement.

The goto Statement.

A Linked List Example.

6. Abstract Container Types.

Our Text Query System.

A vector or a list?

How a vector Grows Itself.

Defining a Sequence Container.

Our Text Query System.

A vector or a list?

How a vector Grows Itself.

Defining a Sequence Container.

Iterators.

Sequence Container Operations.

Storing Lines of Text.

Finding a Substring.

Handling Punctuation.

A String by Any Other Format.

Additional String Operations.

Building a Text Location Map.

Building a Word Exclusion Set.

The Complete Program.

Multimap and Multiset.

Stack.

Queue and Priority Queue.

Revisiting Our iStack Class Iterators.

Sequence Container Operations.

Storing Lines of Text.

Finding a Substring.

Handling Punctuation.

A String by Any Other Format.

Additional String Operations.

Building a Text Location Map.

Building a Word Exclusion Set.

The Complete Program.

Multimap and Multiset.

Stack.

Queue and Priority Queue.

Revisiting Our iStack Class.

III. PROCEDURAL BASED PROGRAMMING.

7. Functions.

Overview.

Function Prototype.

Argument Passing.

Returning a Value.

Recursion.

Inline Functions.

Linkage Directives: extern “C”.

main(): Handling Command Line Options.

Pointers to Functions.

8. Scope and Lifetime.

Scope.

Global Objects and Functions.

Local Objects.

Dynamically Allocated Objects.

Namespace Definitions.

Using Namespace Members.

9. Overloaded Functions.

Overloaded Function Declarations.

The Three Steps of Overload Resolution.

Argument Type Conversions.

Details of Function Overload Resolution.

10. Function Templates.

Function Template Definition.

Function Template Instantiation.

Template Argument Deduction.

Explicit Template Arguments.

Template Compilation Models.

Template Explicit Specialization.

Overloading Function Templates.

Overload Resolution with Instantiations.

Name Resolution in Template Definitions.

Namespaces and Function Templates.

Function Template Example.

11. Exception handling.

Throwing an Exception.

The Try Block.

Catching an Exception.

Exception Specifications.

Exceptions and Design Issues.

12. Generic Algorithms.

Overview.

Using the Generic Algorithms.

Function Objects.

Revisiting Iterators.

The Generic Algorithms.

When Not to Use the Generic Algorithms.

IV. OBJECT-BASED PROGRAMMING.

13. Classes.

Class Definition.

Class Objects.

Class Member Functions.

The Implicit this Pointer.

Static Class Members.

Pointer to Class Member.

Union: A Space-Saving Class.

Bit-field: A Space-Saving Member.

Class Scope.

Nested Classes.

Classes as Namespace Members.

Local Classes.

14. Initialization, Assignment, and Destruction.

Class Initialization.

The Class Constructor.

The Class Destructor.

Class Object Arrays and Vectors.

The Member Initialization List.

Memberwise Initialization.

Memberwise Assignment.

Efficiency Considerations.

15. Function And Operator Overloading.

Operator Overloading.

Friends.

Operator =.

Operator [ ].

Operator ( ).

Operator ->.

Operators ++ and --.

Operators new and delete.

User-Defined Conversions.

Selecting a Conversion.

Overload Resolution and Member Functions.

Overload Resolution and Operators.

16. Class Templates.

Class Template Definition.

Class Template Instantiation.

Member Functions of Class Templates.

Friend Declarations in Class Templates.

Static Data Members of Class Templates.

Nested Types of Class Templates.

Member Templates.

Class Templates and Compilation Model.

Class Template Specializations.

Class Template Partial Specializations.

Name Resolution in Class Templates.

Namespaces and Class Templates.

A Template Array Class.

V. OBJECT-ORIENTED PROGRAMMING.

17. Class Inheritance and Subtyping.

Defining a Class Hierarchy.

Identifying the Members of the Hierarchy.

Base Class Member Access.

Base and Derived Class Construction.

Base and Derived Class Virtual Functions.

Memberwise Initialization and Assignment.

A UserQuery Manager Class.

Putting It Together.

18. Multiple and Virtual Inheritance.

Setting the Stage.

Multiple Inheritance.

Public, Private, and Protected Inheritance.

Class Scope under Inheritance.

Virtual Inheritance.

A Multiple, Virtual Inheritance Example.

19. Uses of Class Inheritance in C++.

Run-Time Type Identification.

Exceptions and Inheritance.

Overload Resolution and Inheritance.

20. The iostream Library.

The Output Operator<<.

Input.

Additional Input/Output Operators.

Overloading the Output Operator <<.

Overloading the Input Operator >>.

File Input and Output.

Condition States.

String Streams.

Format State.

A Strongly Typed Library.

Appendix: The IOStream Library.

accumulate().

adjacent_difference().

adjacent_find().

binary_search().

copy().

copy_backward().

count().

count_if().

equal().

equal_range().

fill().

fill_n().

find().

find_if().

find_end().

find_first_of().

for_each().

generate().

generate_n().

includes().

inner_product().

inplace_merge().

iter_swap ().

lexicographical_compare().

lower_bound().

max().

max_element().

min().

min_element().

merge().

mismatch().

next_permutation().

nth_element().

partial_sort().

partial_sort_copy().

partial_sum().

partition().

prev_permutation().

random_shuffle().

remove().

remove_copy().

remove_if().

remove_copy_if().

replace().

replace_copy().

replace_if().

replace_copy_if().

reverse().

reverse_copy().

rotate().

rotate_copy().

search().

search_n().

set_difference().

set_intersection().

set_symmetric_difference().

set_union().

sort().

stable_partition().

stable_sort().

swap().

swap_range().

transform().

unique().

unique_copy().

upper_bound().

Heap Algorithms.

make_heap().

pop_heap().

push_heap().

sort_heap().

Index. 0201824701T04062001


Next Edition(s)

  • C++ Primer, 4/E
    Lippman, Lajoie & Moo
    ©2005  |  Addison-Wesley Professional  |  Paper; 912 pp  |  Instock
    ISBN-10: 0201721481  |  ISBN-13: 9780201721485
    Brief Description  |  More Info



Back to top

Print this content

In this section:


Author Bios

Stanley B. Lippman is Architect with the Visual C++ development team at Microsoft. Previously, he served as a Distinguished Consultant at the Jet Propulsion Laboratories (JPL). Stan spent more than twelve years at Bell Laboratories, where he worked with Bjarne Stroustrup on the original C++ implementation and the Foundation research project. After Bell Laboratories, Stan worked at Disney Feature Animation, originally as principal software engineer, then as software technical director on Fantasia 2000.

Josée Lajoie is a staff development analyst in the IBM Canada Laboratory C/C++ Compiler group, and is currently the chair of the core language working group for the ANSI/ISO C++ Standard Committee. In addition, she is a regular columnist on the evolution of the C++ Language Standard for the C++ Report..



0201824701AB01312005


Backcover Copy

The third edition of the C++ Primer combines Stanley Lippman's practical experience with Josée Lajoie's inside knowledge of the ANSI/ISO Standard C++. This tutorial is rewritten to describe the features and programming usage of Standard C++. Especially useful for developers new to C++ are the many real-world programming examples that illustrate the design of generic and object-oriented programs, the use of templates, and other aspects of program design using Standard C++. In addition, the C++ Primer provides usage and efficiency guidelines where appropriate.

Highlights

  • Clear, practical and example-driven coverage of the Standard Library, with emphasis on the containers, iterators and algorithms (also known as the Standard Template Library), the string class and iostreams
  • A detailed look at the new features of Standard C++; exception handling, run-time type identification, namespaces, the built-in bool type, and new-style cast-notation, with advice on how to effectively use them.
  • A thorough introduction of the advanced language features, such as templates, classes, and inheritance in support of generic programming, object-oriented programming and object-based programming.
  • An appendix that can be used as a quick reference for the generic algorithms, describing their behavior, and providing concrete examples of how to use them.



0201824701B04062001

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

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.

Package ISBN-10: 0201616149 | ISBN-13: 9780201616149
©1999 | Out of Stock
Suggested retail price: $72.00  Buy from myPearsonStore

This package contains:

Lippman & Lajoie | ©1998 | Addison-Wesley Professional | Paper; 1264 pp
Tondo & Leung | ©1999 | Addison-Wesley Professional | Paper; 448 pp


Back to top