ADVANCE YOUR PROGRAMMING SKILLS IN C++

An Overview of the new C++ (C++11/14)

A 3-Day Course by Scott Meyers

Presented by Leor Zolman


Synopsis:

Specification of the latest version of C++ (“C++11”) was completed in 2011, and many compilers now offer a wealth of features from the revised language. And such features! auto-declared variables reduce typing drudgery and syntactic noise; Unicode, threading support, and alignment control address important functionality gaps; and rvalue references and variadic templates facilitate the creation of more efficient, more flexible libraries. The standard library gains resource-managing smart pointers, new containers, additional algorithms, support for regular expressions, and more. Altogether, C++11 offers much more than “old” C++. This intensively technical seminar introduces the most important new features in C++11 and explains how to get the most out of them.

That's not all. C++11's successor, "C++14," has now been ratified, and this course also covers select C++14 features. These include deduced function return types; reader/writer locks; and extensions to lambda expressions (auto and variadic parameters, generalized captures). You won't find a more up-to-date examination of the new C++ anywhere!

This course dives deeply into language facilities, details and implementations. It is appropriate for attendees having some prior exposure to C++11/14, while Leor Zolman's C++11/14 overview course may be more appropriate for those with no C++11/14 exposure yet whatsoever.

Who Should Attend:

Designers and developers who are using, considering using, or wish to know about the expanded capabilities of C++11/14. Attendees should be experienced with C++98/03 and comfortable with its primary features (e.g., classes, templates, inheritance, STL, etc.). Familiarity with threading concepts (e.g., threads and mutexes) is helpful, but is not essential.


Participants Will Gain:


Contents:

  • The History and Vocabulary of C++ Evolution
  • Sample Program: C++98 vs. C++11
  • Features for Everybody:
    • auto for Type Declarations
    • Range-Based for Loops
    • “>>” as Nested Template Closer
    • nullptr
    • Enhanced enums
    • Unicode characters and strings
    • Raw string literals
    • Uniform initialization syntax
    • Initializer lists
    • Lambda Expressions
    • Template Aliases
    • Threading Support
    • Library Enhancements:
      • New Container Features
      • Smart Pointers (shared_ptr, weak_ptr, unique_ptr)
      • Hash Tables
      • Singly-Linked Lists
      • Fixed-Size Arrays
      • Tuples
      • Regular Expressions
      • Generalized Functors(function)
      • Generalized Binder (bind)
      • New Algorithms
      • Other New Library Functionality
  • Features Primarily for Class Authors:
    • Move Support, Rvalue References, and Perfect Forwarding
    • default Member Functions
    • delete Functions
    • Default Member Initialization
    • Delegating Constructors
    • Inheriting Constructors
  • Features Primarily for Library Authors:
    • Static Assertions
    • explicit Conversion Functions
    • Variadic Templates
    • decltype
    • Alignment control (i.e., alignof, alignas, etc.
  • More C++11 Features (Overview)
  • More C++14 Features (Overview)
  • Removed and Deprecated Features (Overview)
  • Sources for Further Information


Format:

Lecture and question/answer. There are no hands-on exercises, but participants are welcome – encouraged! – to bring computers to experiment with the material as it is presented.

Length:
3 days

Contact Us | Pricing | Copyright © 2016 by Leor Zolman | Links | Phone: 978-664-4178