Sams Teach Yourself C++ in One Hour a Day
Sams Publishing (Verlag)
978-0-672-33567-9 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
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.
Master the fundamentals of C++ and object-oriented programming
Understand how C++11 features help you write compact and efficient code using concepts such as lambda expressions, move constructors, and assignment operators
Learn the Standard Template Library, including containers and algorithms used in most real-world C++ applications
Test your knowledge and expertise using exercises at the end of every lesson
Learn on your own time, at your own pace:
No previous programming experience required
Learn C++11, object-oriented programming, and analysis
Write fast and powerful C++ programs, compile the source code with a gcc compiler, and create executable files
Use the Standard Template Library’s (STL) algorithms and containers to write feature-rich yet stable C++ applications
Develop sophisticated programming techniques using lambda expressions, smart pointers, and move constructors
Learn to expand your program’s power with inheritance and polymorphism
Master the features of C++ by learning from programming experts
Learn C++11 features that allow you to program compact and high-performance C++ applications
TABLE OF CONTENTS
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 Class
LESSON 17: STL Dynamic Array Classes
LESSON 18: STL list and forward_list
LESSON 19: STL Set Classes
LESSON 20: STL Map Classes
PART IV: MORE STL
LESSON 21: Understanding Function Objects
LESSON 22: C++11 Lambda Expressions
LESSON 23: STL Algorithms
LESSON 24: Adaptive Containers: Stack and Queue
LESSON 25: Working with Bit Flags Using STL
PART V: ADVANCED C++ CONCEPTS
LESSON 26: Understanding Smart Pointers
LESSON 27: Using Streams for Input and Output
LESSON 28: Exception Handling
LESSON 29: Going Forward
APPENDIXES
A: Working with Numbers: Binary and Hexadecimal
B: C++ Keywords
C: Operator Precedence
D: Answers
E: ASCII Codes
Siddhartha Rao is a technologist at SAP AG, the world’s leading supplier of enterprise software. As the head of SAP Product Security India, his primary responsibilities include hiring expert talent in the area of product security as well as defining development best practices that keeps SAP software globally competitive. Awarded Most Valuable Professional by Microsoft for Visual Studio–Visual C++, he is convinced that C++11 will help you program faster, simpler, and more efficient C++ applications. Siddhartha also loves traveling and discovering new cultures given an opportunity to. For instance, parts of this book have been composed facing the Atlantic Ocean at a quaint village called Plogoff in Brittany, France—one of the four countries this book was authored in. He looks forward to your feedback on this global effort!
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
Erscheint lt. Verlag | 24.5.2012 |
---|---|
Verlagsort | Indianapolis |
Sprache | englisch |
Maße | 181 x 233 mm |
Gewicht | 1184 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Technik | |
ISBN-10 | 0-672-33567-0 / 0672335670 |
ISBN-13 | 978-0-672-33567-9 / 9780672335679 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich