C++ for the Impatient

  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2013-05-14
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99 Save up to $2.40
  • eBook
    Add to Cart


Supplemental Materials

What is included with this book?

  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


A Ready Reference for C++


C++ for the Impatient offers both the quickest way for busy programmers to learn the latest features of the C++ language and a handy resource for quickly finding answers to specific language questions. Designed to give you the most accurate and up-to-date information you require fast and to the point, this book is also an essential guide to the new C++11 standard, including advanced uses of the C++ standard library. 

Features include

·      Concise descriptions of nearly every function, object, and operator in the C++ core language and standard library, with clear, well-chosen examples for each of them

·      Information provided “at a glance” through syntax displays, tables, and summaries of important functions

·      Content organized for quick look-up of needed information

·      Simple explanations of advanced concepts, using helpful illustrations

·      Complete program examples that are both useful and intriguing, including puzzles, games, and challenging exercises

C++11 features, all covered in the book, include:

·      Lambdas

·      rvalue references

·      Regular-expression library

·      Randomization library

·      Hash-table containers

·      Smart pointers

C++ for the Impatient is an ideal resource for anyone who needs to come up to speed quickly on C++11. Whether or not it’s your first C++ book, it will be one you come back to often for reliable answers.



Author Biography

Brian Overland, drawing on his long experience with technology, training, and writing, is uniquely qualified to produce a book that conveniently organizes needed information and, where required, simplifies difficult concepts. He began programming professionally in C in the 1980s and has also taught both programming and English composition. At Microsoft, he was a project lead for Visual Basic 1.0 and played a key role in bringing easy Windows programming to the world and explaining how to use it; he was also a member of the Visual C++ team. He has since written many successful books and founded his own hi-tech company.

Table of Contents



How This Book is Different: Learning C++11

Who Should Buy This Book?

Examples and Exercises

Requirements: Your Version of C++

Learning About Object Orientation

Typographic Conventions

A Final Word


Chapter 1: C++ Fundamentals

1.1 Elements of a C++ Program

1.2 Dealing with "Flashing Console"

1.3 Working with Microsoft Visual Studio

1.4 Doing More with C++

1.5 Adding Simple Variable Declarations

1.6 Introduction to C++ Control Structures

1.7 General Structure of a C++ Program

1.8 More About Namespaces

1.9 Some Comments About Comments

1.10 Sample App: Adding Machine

1.11 Sample App: Calculating Phi


Chapter 2: Data

2.1 Declaring Simple Variables

2.2 Primitive Data Types

2.3 Symbol Names (“Symbols”)

2.4 Numeric Literals

2.5 Mixing Numeric Types

2.6 String and Character Literals

2.7 Data Declarations: The Complete Syntax

2.8 Enumerated Types

2.9 Special Declarations (typedef, auto, decltype)

2.10 Sample App: Type Promotion


Chapter 3: Operators

3.1 Precedence, Associativity, and Lvalues

3.2 Concise Summary of Operators

3.3 Operators in Detail

3.4 The Controversy: Postfix or Prefix?

3.5 Bitwise Operators in Detail

3.6 Cast Operators

3.7 Sample App: Binary Printout


Chapter 4: Control Structures

4.1 Concise Summary of C++ Statements

4.2 Null Statements (;0 and Expression Statements

4.3 Compound Statements

4.4 if and if-else Statements

4.5 while and do-while Statements

4.6 for Statements

4.7 Range-based for Statements (C++11)

4.8 switch Statements

4.9 Jump Statements (break, continue, goto)

4.10 Exception Handling (try, catch)

4.11 Sample App: Guess-the-Number

4.12 Sample App: Computer Guesses the Number


Chapter 5: Functions

5.1 Overview of Traditional (Named) Functions

5.2 Local and Global Variables

5.3 Complete Function Declaration Syntax

5.4 Function Overloading

5.5 Arguments with Default Values

5.6 Variable-Length Argument Lists

5.7 Lambda, or Anonymous, Functions (C++11)

5.8 constexpr Functions (C++11)

5.9 Sample Apps: Odds at Dice


Chapter 6: Pointers, Arrays, and References

6.1 References

6.2 Arrays

6.3 Pointers

6.4 Complex Declarations Involving Pointers

6.5 Passing and Returning Function Pointers

6.6 Smart Pointers (C++11)

6.7 Sample App: Sieve of Eratsothenes


Chapter 7: Classes and Objects

7.1 Overview: Structures, Unions, and Classes

7.2 Basic Class Declaration Syntax

7.3 Constructors

7.4 Destructors

7.5 The Hidden “this” Pointer

7.6 Operator Functions (Op Overloading)

7.7 Deriving Classes (Subclassing)

7.8 Bit Fields

7.9 Unions

7.10 Sample App: Packed Boolean


Chapter 8. Preprocessor Directives

8.1 General Syntax of Preprocessor Directives

8.2 Summary of Preprocessor Directives

8.3 Using Directives to Solve Specific Problems

8.4 Preprocessor Operators

8.5 Predefined Macros

8.6 Creating Project Header Files


Chapter 9: Templates

9.1 Templates: Syntax and Overview

9.2 Function Templates

9.3 Class Templates

9.4 Class Templates with Member Functions

9.5 Using Integer Template Parameters

9.6 Template Specialization

9.7 Variadic Templates (C++11)

9.8 Sample App: Type Promotion, v. 2


Chapter 10: C-String Library Functions

10.1 Overview of the C-String Format

10.2 Input and Output with C-Strings

10.3 C-String Functions

10.4 String Tokenizing with strtok

10.5 Individual-Character Functions

10.6 Memory-Block Functions (memcpy, etc.)

10.7 Wide-Character Functions (wstrcpy,etc.)


Chapter 11: C I/O Library Functions

11.1 Overview of C Library I/O

11.2 Console I/O Functions

11.3 Print/Scan Formats

11.4 Input and Output to Strings

11.5 File I/O


Chapter 12: Math, Time, and Other Library Functions

12.1 Trigonometric Functions

12.2 Other Math Functions

12.3 The C Date and Time Library

12.4 String-to-Number Conversions

12.5 Memory-Allocation Functions

12.6 Standard C Randomization Functions

12.7 Searching and Sorting Functions

12.8 Other Standard C Library Functions

12.9 Sample App: Idiot Savant


Chapter 13: C++ I/O Stream Classes

13.1 The Basics of C++ I/O Streams

13.2 Reading a Line of Input with getline

13.3 The C++ Stream-Class Hierarchy

13.4 Stream Objects: Manipulators and Flags

13.5 Stream Member Functions (General Purpose)

13.6 File Stream Operations

13.7 Reading and Writing Stream Streams

13.8 Overloading Shift Operators for Your Classes

13.9 Sample App: Text File Reader


Chapter 14: The C++ STL String Class

14.1 Overview of the String Class

14.2 String Class Construction

14.3 String Class Operators

14.4 Concise Summary of Member Functions

14.5 Member Functions in Detail

14.6 String Class Iterators

14.7 Wide-Character String Class (basic_string)


Chapter 15: Introduction to STL (vector, deque)

15.1 A Tour of the Container Templates

15.2 Introduction to Iterators

15.3 The vector Template

15.4 The deque Template

15.5 The bitset Template

15.6 Sample App: Alpha File Organizer


Chapter 16: STL Sequence Containers (list)

16.1 Sorting Elements (Strict Weak Ordering)

16.2 The list Template

16.3 The stack Template

16.4 The queue Template

16.5 The priority_queue Template

16.6 Sample App: Find the Median


Chapter 17: STL Associated Containers (map, set)

17.1 The pair Template

17.2 The map Template

17.3 The set Template

17.4 The multimap Template

17.5 The multiset Template

17.6 Unordered Containers (C++11)

17.7 Sample App: Guess-the-Word Game


Chapter 18: STL Algorithms

18.1 STL Algorithms: General Concepts

18.2 Using Lambda Functions (C++11)

18.3 Algorithms and Iterators

18.4 Insert Iterators

18.5 Sample App: Finding the Median

18.6 Concise Summary of Algorithms

18.7 Detailed Descriptions of Algorithms


Chapter 19: C++11 Randomization Library

19.1 Issues in Randomization

19.2 A Better Randomization Scheme

19.3 Common Engines

19.4 Common Distributions

19.5 Operations on Engines

19.6 Operations on Distributions

19.7 Sample App: Dice Game


Chapter 20: C++11 Regular-Expression Library

20.1 Overview of C++11 Regular Expressions

20.2 Dealing with Escape Sequences (\)

20.3 Constructing a RegEx String

20.4 Matching-and-Searching Functions

20.5 “Find All,” or Iterative, Searches

20.6 Replacing Text

20.7 String Tokenizing

20.8 Catching RegEx Exceptions

20.9 Sample App: RPN Calculator


Appendix A: A Painless Introduction to Rvalue References


Appendix B: Summary of New Features in C++11



Rewards Program

Write a Review