C++14 New Features

Rating:
1 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 5
Loading...
Please Log in or register to rate

C++14 New Features

BCK-306

C++14 is the new standard that revolutionizes the already best language for native development. With the approved C++14 standard the language is even more powerful and expressive while maintaining its power as the language of choice for system and native development.

This course covers the new and updated features of the language and includes intensive exercises.

Course Objectives
  • Understand the new C++14 language features.
  • Understand the motivation of the new C++14 concepts and enhancements.
  • Utilize the new features in language and standard library to build better systems
Course Topics

Module 1 – Introduction

  • Evolution of the C++ standard
  • Goals of the C++14
  • Support in modern compilers

Module 2 – Simple Syntactic Enhancements

  • Automatic type inference
  • Range-based for loops
  • Strings, literals, characters and Unicode
  • nullptr

Module 3 – Deprecated Features

Module 4 – Initialization

  • Uniform initializers
  • Initializer lists

Module 5 – Preprocessor Enhancements

  • __func__
  • __pragma__
  • Variadic Macros

Module 6 – Enhanced Type System

  • Enhanced enum
  • Generalized POD
  • Extended integer types
  • Generalized Union
  • Alignment Control
  • addressof
  • constexpr

Module 7 – Function Object and Lambda Expressions

  • Function objects
  • Lambda expression
  • std::function class
  • std::bind

Module 8 – Smart Pointers

  • unique_ptr
  • shared_ptr
  • weak_ptr
  • pointer_traits

Module 9 – OOP Enhancements

  • Inheriting constructors
  • Delegating constructors
  • Default member initialization
  • default functions
  • delete functions
  • Override and final functions
  • Extended friend
  • Explicit conversions

Module 10 – Move Semantics

  • Move Semantics
  • r-value reference
  • Perfect forwarding

Module 11 – User Defined Literals

Module 12 – Template Enhancements

  • Nested template with >>
  • Variadic templates
  • Static assertions
  • Extern templates
  • Trailing return type
  • decltype
  • declvalue
  • Type traits
  • Template aliases

Module 13 – Enhanced Exceptions

  • Copying and re-throwing
  • Nested exceptions
  • Preventing exceptions propagation – noexcept
  • system_error

Module 14 – Enhancements to Standard Containers

  • Move semantics
  • Initializer list support
  • const_itrator support
  • Emplace operations
  • Scoped allocators
  • tuple
  • Hash tables
  • Fixed-sized arrays
  • forward_list
  • Regular expressions

Module 15 – Improved Algorithms

  • New Algorithms
  • Enhancements to existing algorithms

Module 16 – Threads and Synchronization

  • std::thread
  • Locks
  • std::mutex
  • Condition Variables
  • std::async tasks
  • std::future and std::promise

Module 17 – Advanced Threading Support

  • Thread local storage
  • Initializations and call_once
  • packaged_task
  • yield and sleep
  • Atomic Lock Free
  • Thread interruption
  • quick_exit and at_quick_exit

Module 18 – Utilities

  • Time Utilities
  • Random Number Generators
© Copyright - Skilit - Site by Dweb