fbpx ...

Modern C++ advanced features

The other part of Moden C++ training. Modern C++ basic features is not a prerequisite to participation in Modern C++ advanced features. Both sessions are independent and cover other features of C++11, C++14 and C++17. Big key features like move semantics, lambda functions, noexcept or constexpr are in described in detail in separate sessions.

We will write or analyse such code

  constexpr int factorial11(int n) {  // C++11 compatible
{
    return (n == 0) ? 1 : n * factorial11(n-1);
}

constexpr int factorial14(int n) {  // C++14
    if (n == 0) {
        return 1;
    } else {
        return n * factorial14(n-1);
    }
}  
  using Coordinate = std::pair<int, int>;

Coordinate origin() {
    return Coordinate{0, 0};
}

const auto [ x, y ] = origin();
std::cout << "x: " << x << ", y: " << y;  

Your abilities after Modern C++ advanced features training

Agenda

Activities

Duration

Form

Order Modern C++ advanced features training

Related trainings

Modern C++ basic features

Covers other modern C++ features: static_assert, nullptr, enum class, auto keyword, automatic type deduction, using alias, uniform initialization, new keywords, range-based for loops.

Templates

More on type deduction with auto and decltype

Move semantics

The key feature of C++11 covered in detail in a separate session.

Lambda expressions

The key feature of C++11, enhanced in C++14, C++17 and C++20 covered in detail in a separate session.
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.