do not click

Meeting C++ 2021   |  Online   |  Training   |  Survey   |  Advertising   |  Jobposting   |  Login

Meeting C++ Trainings listing

Programming with C++11 to C++17

Andreas Fertig

Tags for this training

c++11,c++14,c++17,auto,variadic templates,span,range-based,lambda,constexprm

12.04.2021

Book now

Trainings Details

After a long period without updates to C++ until 2011, the language has been continuously improved with new standards. This brings valuable new features such as constexpr to optimize code size or performance to C++, which you are about to learn.

You will start learning about new language elements like auto, override, and uniform initialization. With this knowledge, you continue to look into innovations such as constexpr. Of course, you will learn about Lambdas as well. After all, they are one of the long-missing elements.

Your next stop is another innovation of C++11: variadic templates. You learn how they work and where they will assist you in writing less code yourself.

This is followed by the probably most impactful feature of C++11: move semantics. You will learn what that is and how it works, but most importantly, the benefit it brings you. You will see situations where move semantics get disabled by the compiler.

You will learn about structured bindings, a C++17 feature, which helps you to write less code once again.

Finally, you will look at a few selected innovations in the STL. Very interesting for many C++ programmers here are the smart pointers. But also containers like std::tuple or std::vector are on your learning plate.

After this course, you have a clear understanding of what the new standards bring to you. Selecting features from the new language standards for a project and using them safely is an easy task for you.

Included in this course are

Trainings Agenda

  • Clean and modern C++ code
  • Uniform initialization:
    • Initialization with curly braces
    • std::initializer_list
  • New elements:
    • Type determination with auto and trailing return type
    • Range-based for-loops
    • Literal operator
    • class enum
    • nullptr
    • override
    • final
    • =default, =delete
    • In-class initialization
    • Inherited constructors
    • Structured bindings
  • Do things at compile time:
    • constexpr
    • static_assert
    • constexpr if
  • Lambdas
  • Move semantics:
    • Rvalue references
    • std::move
    • Prefect forwarding
    • The rule of 0/3/5 / DesDeMovA
  • Template changes:
    • Variadic templates
    • Alias template with using
    • Fold expressions
    • Class Template Argument Deduction
  • Selected updates to the STL:
    • Smart pointer
    • std::array
    • std::tuple
    • Type-traits
    • Time under control with chrono
    • A look in the algorithm header

Get your ticket now

Number of attendees is limited, please get your spot early.

Book now

Copyright Meetingcpp GmbH Imprint Piwik Opt out Privacy Policy