Summary and Info
Completely updated for the C++11 standard, Sams T each 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 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
More About the Author
Siddhartha Roy (born 1954) is an Indian structural biologist, biophysicist and the director of the Indian Institute of Chemical Biology.
Review and Comments
Rate the Book
Sams Teach Yourself C++ in One Hour a Day 0 out of 5 stars based on 0 ratings.