C++11新特性综述

Scott Meyers Training Courses
An Overview of the New C++ (C++11/14)

Specification of the latest version of C++(“C++11”) was completed in 2011, and many compilersnow offer a wealth offeatures from the revised language. And such features!auto-declared variables reduce typing drudgeryand syntactic noise; Unicode, threading support, andalignment control addressimportant functionality gaps; and rvaluereferences and variadic templates facilitate the creationof more efficient, more flexible libraries. The standardlibrary gains resource-managing smart pointers, newcontainers, additional algorithms, support for regularexpressions, and more. Altogether, C++11 offersmuch more than “old” C++. Thisintensively technical seminar introduces the most importantnew features in C++11 and explains how to get the most outof 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!

Course Highlights

Participants will gain:

  • Knowledge of the most important C++11 and C++14 features andhow they help produce better programs.
  • Insights into how new features solve importantproblems.
  • Understanding of which features are useful primarily to library writers,which to classauthors, and which to virtually all C++ developers.
  • Availability information regarding which features areavailable on which platforms.

Who Should Attend

Designers and developers who are using, consideringusing, or wish to know about the expanded capabilities ofC++11/14. Attendees should be experienced with C++ andcomfortable with its primary features (e.g., classes,templates, inheritance, STL, etc.). Familiarity with threadingconcepts (e.g., threads and mutexes) ishelpful, but is not essential.

Format

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

Length

Three full days (six to seven lecture hours per day).

Detailed Topic Outline

  • 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

For more information on this course, contact Scott directly.


原文:http://www.aristeia.com/C++11.html

你可能感兴趣的:(C++)