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:
autofor Type Declarations- Range-Based
forLoops - “>>” 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
defaultMember FunctionsdeleteFunctions- Default Member Initialization
- Delegating Constructors
- Inheriting Constructors
- Features Primarily for Library Authors:
- Static Assertions
explicitConversion 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.

344

被折叠的 条评论
为什么被折叠?



