Limit search to available items
E-book
Author Lippman, Stanley B.

Title C++ primer / Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
Edition 4th ed
Published Upper Saddle River, NJ : Addison-Wesley, ©2005

Copies

Description 1 online resource (xxi, 885 pages) : illustrations
Contents Chapter 1. Getting Started -- Writing a simple C++ program -- Compiling and executing our program -- A first look at input/output -- Standard input and output objects -- A program that uses the IO library -- A word about comments -- Control structures -- The while statement -- The for statement -- The if statement -- Reading an unknown number of inputs -- Introducing classes -- The sales_item class -- A first look at member functions -- The C++ program -- Part I The Basics -- Chapter 2. Variables and Basic Types -- Primitive built-in types -- Integral types -- Floating-point types -- Literal constants -- Variables -- What is a variable? -- The name of a variable -- Defining objects -- Variable initialization rules -- Declarations and definitions -- Scope of a name -- Define variables where they are used -- const Qualifier -- References -- Typedef names -- Enumerations -- Class types -- Writing our own header files -- Designing our own headers -- A brief introduction to the preprocessor -- Chapter 3. Library Types -- Namespace using declarations -- Library string type -- Defining and initializing strings -- Reading and writing strings -- Operations on strings -- Dealing with the characters of a string -- Library vectortype -- Defining and initializing vectors -- Operations on vectors -- Introducing iterators -- Iterator arithmetic -- Library bitset type -- Defining and initializing bitsets -- Operations on bitsets -- Chapter 4. Arrays and Pointers -- Arrays -- Defining and initializing arrays -- Operations on arrays -- Introducing pointers -- What is a pointer? -- Defining and initializing pointers -- Operations on pointers -- Using pointers to access array elements -- Pointers and the const Qualifier -- C-style character strings -- Dynamically allocating arrays -- Interfacing to older code -- Multidimensional arrays -- Pointers and multidimensioned arrays.; Chapter 5. Expressions -- Arithmetic operators -- Relational and logical operators -- The bitwise operators -- Using bitset objects or integral values -- Using the bitwise operators for IO -- Assignment operators -- Assignment is right associative -- Assignment has low precedence -- Compound assignment operators -- Increment and decrement operators -- The arrow operator -- The conditional operator -- The sizeof operator -- Comma operator -- Evaluating compound expressions -- Precedence -- Associativity -- Order of evaluation -- The new and delete expressions -- Type conversions -- When implicit type conversions occur -- The arithmetic conversions -- Other implicit conversions -- Explicit conversions -- When casts might be useful -- Named casts -- Old-style casts -- Chapter 6. Statements -- Simple statements -- Declaration statements -- Compound statements (Blocks) -- Statement scope -- The if statement -- The if statement else branch -- The switch statement -- Using a switch -- Control flow within a switch -- The default label -- switch expression and case labels -- Variable definitions inside a switch -- The while statement -- The for loop statement -- Omitting parts of the for header -- Multiple definitions in the for header -- The do while statement -- The break statement -- The continue statement -- The goto statement -- try blocks and exception handling -- A throw expression -- The try block -- Standard exceptions -- Using the preprocessor for debugging -- Chapter 7. Functions -- Defining a function -- Function return type -- Function parameter list -- Argument passing -- Nonreference parameters -- ReferenceParameters -- vector and other container parameters -- Array parameters -- Managing arrays passed to functions -- main:handling command-line options -- Functions with varying parameters --The return statement -- Functions with no return value -- Functions that return a value -- Recursion -- Function declarations -- Default arguments -- Local Objects -- Automatic objects -- Static local objects -- Inline functions -- Class member functions -- Defining the body of a member function -- Defining a member function outside the class -- Writing the sales_item constructor -- Organizing class code files -- Overloaded Functions -- Overloading and scope -- Function matching and argument conversions -- The three steps in overload resolution -- Argument-type conversions -- Pointers to functions -- Chapter 8. The IO Library -- An object-oriented library --Condition states --Managing the output buffer -- File input and output -- Using file stream objects -- File modes -- A program to open and check input files -- String streams.; Part II Containers and Algorithms -- Chapter 9. Sequential Containers -- Defining a sequential container -- Initializing container elements -- Constraints on types that a container can hold -- Iterators and iterator ranges -- Iterator ranges -- Some container operations Invalidate iterators -- Sequence container operations -- Container typedefs -- begin and end members -- Adding elements to a sequential container -- Relational Operators -- Container size operations -- Accessing elements -- Erasing elements -- Assignment and swap -- How a vector grows -- capacity and reserve members -- Deciding which container to use -- strings revisited -- Other ways to construct strings -- Other ways to change a string -- string-only operations -- string search operations -- Comparing strings -- Container adaptors -- Stack adaptor -- Queue and priority queue -- Chapter 10. Associative Containers -- Preliminaries: the pairtype -- Associative containers -- The map type -- Defining a map -- Types defined by map -- Adding elements to a map -- Subscripting a map -- Using map::insert -- Finding and retrieving a map element -- Erasing elements from a map -- Iterating across a map -- A word transformation map -- The set type -- Defining and using sets -- Building a word-exclusion set -- The multimap and multiset types -- Adding and removing elements -- Finding elements in a multimap or multiset -- Using containers: text-query program -- Design of the query program -- TextQuery class -- Using the textQuery class -- Writing the member functions -- Chapter 11. Generic Algorithms -- Overview -- A first look at the algorithms -- Read-only algorithms -- Algorithms that write container elements -- Algorithms that reorder container elements -- Revisiting iterators -- Insert iterators -- iostream iterators -- Reverse iterators -- const iterators -- The five categories -- Structure of generic algorithms -- Algorithm parameter patterns -- Algorithm naming conventions -- Containe-specific algorithms.; Part III Classes and Data Abstraction -- Chapter 12. Classes -- Class definitions and declarations -- Class definitions: a recap -- Data abstraction and encapsulation -- More on class definitions -- Class declarations versus definitions -- Class objects -- The implicit this pointer -- Class scope -- Name lookup in class scope -- Constructors -- The constructor initializer -- Default arguments and constructors -- The default constructor -- Implicit class-type conversions -- Explicit initialization of class members -- Friends -- static class members -- static member functions -- static data members
Chapter 13. Copy Control -- The copy constructor -- The synthesized copy constructor -- Defining our own copy constructor -- Preventing copies -- The assignment operator --The destructor -- A message-handling example -- Managing pointer members -- Defining smart pointer classes -- Defining valuelike classes -- Chapter 14. Overloaded Operations and Conversions -- Defining an overloaded operator -- Overloaded operator design -- Input and output operators -- Overloading the output operator <<-- Overloading the input operator>> -- Arithmetic and relational operators -- Equality operators -- Relational operators -- Assignment operators -- Member access operators -- Increment and decrement operators -- Call operator and function objects -- Using function objects with library algorithms -- Library-defined function objects -- Function adaptors for function objects -- Conversions and class types -- Why conversions are useful -- Conversion operators -- Argument matching and conversions -- Overload resolution and class arguments -- Overloading, conversions, and operators.; Part IV Object-Oriented and Generic Programming -- Chapter 15. Object-oriented programming -- OOP: an overview -- Defining base and derived classes -- Defining a base class -- protected members -- Derived Class -- virtual and other member functions -- Public, private, and protected inheritance -- Friendship and inheritance -- Inheritance and static members -- Conversions and inheritance -- Derived-to-base conversions -- Conversions from base to derived -- Constructors and copy control -- Base-class constructors and copy control -- Derived-class constructors -- Copy control and inheritance -- Virtual destructors -- Virtuals in constructors and destructors -- Class scope under inheritance -- Name lookup happens at compile time -- Name collisions and inheritance -- Scope and member functions -- Virtual functions and scope -- Pure virtual functions -- Containers and inheritance -- Handle classes and inheritance -- A pointerlike handle -- Cloning an unknown type -- Using the handle -- Text queries revisited -- An object-oriented solution -- A valuelike handle -- The query_base class -- The query handle class -- The derived classes -- The eval functions -- Chapter 16. Templates and Generic Programming -- Template definitions -- Defining a function template -- Defining a class template -- Template parameters -- Template type parameters -- Nontype template parameters -- Writing generic programs -- Instantiation -- Template argument deduction -- Function-template explicit arguments -- Template compilation models -- Class template members -- Class-template member functions -- Template arguments for nontype parameters -- Friend declarations in class templates -- Queue and queueItem friend declarations -- Membertemplates -- The complete queue class -- static members of class templates -- A generic handle class -- Defining the handle class -- Using the handle -- Template specializations -- Specializing a function template -- Specializing a class template -- Specializing members but not the class -- Class-template partial specializations -- Overloading and function templates.; Part V Advanced Topics -- Chapter 17. Tools for Large Programs -- Exception handling -- Throwing an exception of class type -- Stack unwinding -- Catching an exception -- Rethrow -- The catch-all handler -- Function try blocks and constructors -- Exception class hierarchies -- Automatic resource deallocation -- The auto_ptr class -- Exception specifications --Function pointer exception specifications -- Namespaces -- Namespace definitions -- Nested namespaces -- Unnamed namespaces -- Using namespace members -- Classes, namespaces, and scope -- Overloading and namespaces -- Namespaces and templates -- Multiple and virtual inheritance -- Multiple inheritance -- Conversions and multiple base classes -- Copy control for multiply derived classes -- Class scope under multiple inheritance -- Virtual inheritance -- Virtual base class declaration -- Special initialization semantics -- Chapter 18. Specialized Tools and Techniques -- Optimizing memory allocation -- Memory allocation in C++ -- The allocator class -- Operator new and delete functions -- Placement new expressions -- Explicit destructor invocation -- Class specific new and delete --A memory-allocator base class -- Run-time type identification -- The dynamic_cast operator -- The typeid operator -- Using RTTI -- The type_info class -- Pointer to class member -- Declaring a pointer to member -- Using a pointer to class member -- Nested classes -- A nested class implementation -- Name lookup in nested class scope -- Union: a space-saving class -- Local classes -- Inherently nonportable features -- Bit-fields -- volatile Qualifier -- Linkage directives: extern "C" -- Appendix A The Library -- A.1. Library names and headers -- A.2. A brief tour of the algorithms -- Algorithms to find an object -- Other read-only algorithms -- Binary-search algorithms -- Algorithms that write container elements --Partitioning and sorting algorithms -- General reordering operations -- Permutation algorithms -- Set algorithms for sorted sequences -- Minimum and maximum values -- NumericAlgorithms -- A.3 The IO library revisited -- Format state -- Many manipulators change the format state -- Controlling output formats -- Controlling input formatting -- Unformatted input/output operations -- Single-byte operations -- Multi-byte operations -- Random access to a stream -- Reading and writing to the same file
Summary " C++ Primer is well known as one of the best books for learning C++ and is useful for C++ programmers of all skill levels. This Fourth Edition not only keeps this tradition alive, it actually improves on it." --Steve Vinoski, Chief Engineer, Product Innovation, IONA Technologies " The Primer really brings this large and complex language down to size." --Justin Shaw, Senior Member of Technical Staff, Electronic Programs Division, The Aerospace Corporation "It not only gets novices up and running early, but gets them to do so using good programming practices." --Nevin ":-)" Liber, Senior Principal Engineer (C++ developer since 1988) This popular tutorial introduction to standard C++ has been completely updated, reorganized, and rewritten to help programmers learn the language faster and use it in a more modern, effective way. Just as C++ has evolved since the last edition, so has the authors' approach to teaching it. They now introduce the C++ standard library from the beginning, giving readers the means to write useful programs without first having to master every language detail. Highlighting today's best practices, they show how to write programs that are safe, can be built quickly, and yet offer outstanding performance. Examples that take advantage of the library, and explain the features of C++, also show how to make the best use of the language. As in its previous editions, the book's authoritative discussion of fundamental C++ concepts and techniques makes it a valuable resource even for more experienced programmers. Program Faster and More Effectively with This Rewritten Classic Restructured for quicker learning, using the C++ standard library Updated to teach the most current programming styles and program design techniques Filled with new learning aids that emphasize important points, warn about common pitfalls, suggest good programming practices, and provide general usage tips Complete with exercises that reinforce skills learned Authoritative and comprehensive in its coverage The source code for the book's extended examples is available on the Web at the address below. www.awprofessional.com/cpp_primer
Notes Includes index
Bibliography Includes bibliographical references and index
Notes Copyright © 2005 Objectwrite Inc., Josée Lajoie and Barbara E. Moo 2005
Subject C (Computer program language)
C (Computer program language)
Engineering & Applied Sciences.
Computer Science.
Form Electronic book
Author Lajoie, Josée
Moo, Barbara E.
LC no. 2004029301
Other Titles C Plus Plus primer