HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Learn C++ in Just One Hour a Day
Completely updated for the C++11 standard, Sams Teach Yourself C++ in One Hour a Day presents the language from a practical point of view, helping you learn how to use C++11 to create faster, simpler, and more efficient C++ applications.
Learn on your own time, at your own pace:
PART I: THE BASICS
LESSON 1: Getting Started with C++11
LESSON 2: The Anatomy of a C++ Program
LESSON 3: Using Variables, Declaring Constants
LESSON 4: Managing Arrays and Strings
LESSON 5: Working with Expressions, Statements, and Operators
LESSON 6: Controlling Program Flow
LESSON 7: Organizing Code with Functions
LESSON 8: Pointers and References Explained
PART II: FUNDAMENTALS OF OBJECT-ORIENTED C++ PROGRAMMING
LESSON 9: Classes and Objects
LESSON 10: Implementing Inheritance
LESSON 11: Polymorphism
LESSON 12: Operator Types and Operator Overloading
LESSON 13: Casting Operators
LESSON 14: An Introduction to Macros and Templates
PART III: LEARNING THE STANDARD TEMPLATE LIBRARY (STL)
LESSON 15: An Introduction to the Standard Template Library
LESSON 16: The STL String ClassPART IV: MORE STL
LESSON 21: Understanding Function Objects
LESSON 22: C++11 Lambda ExpressionsPART V: ADVANCED C++ CONCEPTS
LESSON 26: Understanding Smart Pointers
LESSON 27: Using Streams for Input and OutputAPPENDIXES
A: Working with Numbers: Binary and Hexadecimal
B: C++ Keywords
Download the sample pages (includes Chapter 2 and Index)
Sams Teach Yourself C++ in One Hour a Day
Covers C++11
PART I: THE BASICS
LESSON 1: Getting Started
A Brief History of C++
Programming a C++ Application
What's New in C++11
LESSON 2: The Anatomy of a C++ Program
Part of the Hello World Program
The Concept of Namespaces
Comments in C++ Code
Functions in C++
Basic Input Using std::cin and Output Using std::cout
LESSON 3: Using Variables, Declaring Constants
What Is a Variable?
Common Compiler-Supported C++ Variable Types
Determining the Size of a Variable Using sizeof
Using typedef to Substitute a Variable's Type
What Is a Constant?
Naming Variables and Constants
Keywords You Cannot Use as Variable or Constant Names
LESSON 4: Managing Arrays and Strings
What Is an Array?
Multidimensional Arrays
Dynamic Arrays
C-style Strings
C++ Strings: Using std::string
LESSON 5: Working with Expressions, Statements, and Operators
Statements
Compound Statements or Blocks
Using Operators
LESSON 6: Controlling Program Flow
Conditional Execution Using if … else
Getting Code to Execute in Loops
Modifying Loop Behavior Using continue and break
Programming Nested Loops
LESSON 7: Organizing Code with Functions
The Need for Functions
Using Functions to Work with Different Forms of Data
How Function Calls Are Handled by the Microprocessor
LESSON 8: Pointers and References Explained
What Is a Pointer?
Dynamic Memory Allocation
Common Programming Mistakes When Using Pointers
Pointer Programming Best-Practices
What Is a Reference?
PART II: FUNDAMENTALS OF OBJECT-ORIENTED C++ PROGRAMMING
LESSON 9: Classes and Objects
The Concept of Classes and Objects
Keywords public and private
Constructors
Destructor
Copy Constructor
Different Uses of Constructors and Destructor
this Pointer
sizeof() a Class
How struct Differs from class
Declaring a friend of a class
LESSON 10: Implementing Inheritance
Basics of Inheritance
Private Inheritance
Protected Inheritance
The Problem of Slicing
Multiple Inheritance
LESSON 11: Polymorphism
Basics of Polymorphism
Using virtual Inheritance to Solve the Diamond Problem
Virtual Copy Constructors?
LESSON 12: Operator Types and Operator Overloading
What Are Operators in C++?
Unary Operators
Binary Operators
Function Operator ()
Operators That Cannot Be Overloaded
LESSON 13: Casting Operators
The Need for Casting
Why C-Style Casts Are Not Popular with Some C++ Programmers
The C++ Casting Operators
Problems with the C++ Casting Operators
LESSON 14: An Introduction to Macros and Templates
The Preprocessor and the Compiler
Using #define Macros to Define Constants
Using #define To Write Macro Functions
An Introduction to Templates
PART III: LEARNING THE STANDARD TEMPLATE LIBRARY (STL)
LESSON 15: An Introduction to the Standard Template Library
STL Containers
STL Iterators
STL Algorithms
The Interaction Between Containers and Algorithms Using Iterators
STL String Classes
LESSON 16: The STL String Class
The Need for String Manipulation Classes
Working with the STL String Class
LESSON 17: STL Dynamic Array Classes
The Characteristics of std::vector
Typical Vector Operations
Understanding the Concepts of Size and Capacity
The STL deque Class
LESSON 18: STL list and forward_list
The Characteristics of a std::list
Basic list Operations
Reversing and Sorting Elements in a List
LESSON 19: STL Set Classes
An Introduction to STL Set Classes
Basic STL set and multiset Operations
Pros and Cons of Using STL set and multiset
LESSON 20: STL Map Classes
An Introduction to STL Map Classes
Basic std::map and std::multimap Operations
Supplying a Custom Sort Predicate
PART IV: MORE STL
LESSON 21: Understanding Function Objects
The Concept of Function Objects and Predicates
Typical Applications of Function Objects
LESSON 22: C++11 Lambda Expressions
What Is a Lambda Expression?
How to Define a Lambda Expression
Lambda Expression for a Unary Function
Lambda Expression for a Unary Predicate
Lambda Expression with State via Capture Lists
The Generic Syntax of Lambda Expressions
Lambda Expression for a Binary Function
Lambda Expression for a Binary Predicate
LESSON 23: STL Algorithms
What Are STL Algorithms?
Classification of STL Algorithms
Usage of STL Algorithms
LESSON 24: Adaptive Containers: Stack and Queue
The Behavioral Characteristics of Stacks and Queues
Using the STL stack Class
Using the STL queue Class
Using the STL Priority Queue
LESSON 25: Working with Bit Flags Using STL
The bitset Class
Using std::bitset and Its Members
The vector
PART V: ADVANCED C++ CONCEPTS
LESSON 26: Understanding Smart Pointers
What Are Smart Pointers?
How Are Smart Pointers Implemented?
Types of Smart Pointers
Popular Smart Pointer Libraries
LESSON 27: Using Streams for Input and Output
Concept of Streams
Important C++ Stream Classes and Objects
Using std::cout for Writing Formatted Data to Console
Using std::cin for Input
Using std::fstream for File Handling
Using std::stringstream for String Conversions
LESSON 28: Exception Handling
What Is an Exception?
What Causes Exceptions?
Implementing Exception Safety via try and catch
How Exception Handling Works
LESSON 29: Going Forward
What's Different in Today's Processors?
How to Better Use Multiple Cores
Writing Great C++ Code
Learning C++ Doesn't Stop Here!
APPENDIXES
A: Working with Numbers: Binary and Hexadecimal
B: C++ Keywords
C: Operator Precedence
D: Answers
E: ASCII Codes