Exploring C++ 11: Problems and Solutions Handbook

  • 11h 1m
  • Ray Lischner
  • Apress
  • 2013

Exploring C++ divides C++ up into bite-sized chunks that will help you learn the language one step at a time. Assuming no familiarity with C++, or any other C-based language, you’ll be taught everything you need to know in a logical progression of small lessons that you can work through as quickly or as slowly as you need.

C++ can be a complicated language. Writing even the most straight-forward of programs requires you to understand many disparate aspects of the language and how they interact with one another. C++ doesn't lend itself to neat compartmentalization the way other languages do. Rather than baffle you with complex chapters explaining functions, classes and statements in isolation we’ll focus on teaching you how to achieve results. By learning a little bit of this and a little of that you’ll soon have amassed enough knowledge to be writing non-trivial programs and will have built a solid foundation of experience that puts those previously baffling concepts into context.

In this fully-revised second edition of Exploring C++, you’ll learn how to use the standard library early in the book. Next, you’ll learn to work with operators, objects and data-sources in increasingly realistic situations. Finally, you’ll start putting the pieces together to create sophisticated programs of your own design confident that you’ve built a firm base of experience from which to grow.

What you’ll learn

  • Learn how to use C++ from first principles in a practical hands-on way.
  • Understand how to use Custom types, virtual functions and objects to structure your code
  • Build your own function templates, namespaces and containers from the ground up.
  • Put everything together to create sophisticated programs that work with pointers, dynamic memory and overloaded functions to achieve the results you want.

Who this book is for

Read this book if you want to learn C++ and have a basic understanding of how computer programs work. You don't need to know a C-based language before you start, but a basic understanding of how programs are structured is helpful.

About the Author

Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the U.S., using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last 10 years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.

In this Book

  • Honing Your Tools
  • Reading C++ Code
  • Integer Expressions
  • Strings
  • Simple Input
  • Error Messages
  • For Loops
  • Formatted Output
  • Arrays and Vectors
  • Algorithms and Iterators
  • Increment and Decrement
  • Conditions and Logic
  • Compound Statements
  • Introduction to File I/O
  • The Map Data Structure
  • Type Synonyms
  • Characters
  • Character Categories
  • Case-Folding
  • Writing Functions
  • Function Arguments
  • Using Algorithms
  • Unnamed Functions
  • Overloading Function Names
  • Big and Little Numbers
  • Very Big and Very Little Numbers
  • Documentation
  • Project 1: Body-Mass Index
  • Custom Types
  • Overloading Operators
  • Custom I/O Operators
  • Assignment and Initialization
  • Writing Classes
  • More About Member Functions
  • Access Levels
  • Introduction to Object-Oriented Programming
  • Inheritance
  • Virtual Functions
  • Classes and Types
  • Declarations and Definitions
  • Using Multiple Source Files
  • Function Objects
  • Useful Algorithms
  • Iterators
  • Exceptions
  • More Operators
  • Project 2: Fixed-Point Numbers
  • Function Templates
  • Class Templates
  • Template Specialization
  • Partial Template Specialization
  • Names and Namespaces
  • Containers
  • Locales and Facets
  • International Characters
  • Text I/O
  • Project 3: Currency Type
  • Pointers
  • Dynamic Memory
  • Moving Data with Rvalue References
  • Exception-Safety
  • Old-Fashioned Arrays
  • Smart Pointers
  • Working with Bits
  • Enumerations
  • Multiple Inheritance
  • Traits and Policies
  • Names, Namespaces, and Templates
  • Overloaded Functions and Operators
  • Metaprogramming
  • Project 4: Calculator
SHOW MORE
FREE ACCESS