Skip to content

LearningLine/Cpp-11-14-demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

C-11-14-demos

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. A feature-complete draft of C++11's successor, "C++14", has now been adopted, 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! 

Participants will gain:
  • Knowledge of the most important C++11 and C++14 features and how they help produce better programs.
  • Insights into how new features solve important problems.
  • Understanding of which features are useful primarily to library writers, which to class authors, and which to virtually all C++ developers.
  • Availability information regarding which features are available on which platforms.

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.

Course outline and topics

  • 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
    • 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 Fowarding
    • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published