C++11

C++ Level 2 – Introducing C++11

Description

Embedded Development & Debugging
Contact us
3 days
SEK 17.900
DKK 15.800
EUR 2.100 (FI)

Request more information

Lena Bernhardsson
+46 (0) 40 59 22 09
lena.bernhardsson@nohau.se

In order to use C++ efficiently “all the way”, you apply inheritance and polymorphism ‑ the other corner stones of object orientation beside encapsulation. The concept of templates enables you to design and implement generic true re-usable code. The C++ standard library provides a lot of useful functionality without having to “redevelop the wheel”. The new C++ standard, a.k.a. C++11, extends the standard library with new features like multithreading, general purpose smart pointers, regular expressions, and many more items.

Goal/Benefits

This three day C++ training  course picks up where the “C++ – Basic-“-training ended. We will complete the practicing of object-orientation by applying inheritance and polymorphism. Furthermore we will look into many issues and features in C++ like:

  • Understand the importance of thorough memory management
  • Write generic code using templates
  • Get enough acquainted with the C++ standard library that “no new wheels has to be invented”
  • Introduce the new language features of C++11
  • Introduce the new C++11 standard library features

The major objective of this class is that you shall be able to use C++ in a “correct way”.

Audience/Participants

This training is aimed C++-programmers who want to want to deepen the knowledge in C++.

Previous Knowledge

The course requires basic knowledge in C++ programming, corresponding to our training ”C++ – Level 1”.

Practical Exercises

During the training you will practice the presented topics in a number of exercises. For the participant who wants, the exercises can be carried out with making use of the new C++11 features – when applicable. We will use the open and free integrated development environment from Eclipse.

Content

Outline

  1. The Class, Part II
    •  Inheritance
    • Dynamic Binding – Polymorphism
    • Virtual Function
      • Virtual Destructor
    • Interface
  2. Templates
    • Function Template
    • Class Template
    • Template Versus Inheritance
  3. New C++11 Language Features
    • Uniform Initialization with Initializer Lists
    • Automatic Type Deduction – auto and decltype
    • Fundamental Data Types
      • Standardized Word Widths
      • Scoped and Strongly Typed Enumerations
    • Constructor Delegation
    • Literals
      • String
      • User-defined
    • Range-based Loops
    • Rvalue references with Move Semantics
    • Other Keywords:
      • constexpr
      • noexcept
      • decltype again: New Function Declaration Syntax
    • Lambdas – Anonymous Functions
    • Variadic Templates
  4. The Standard Library, Part II
    • Standard Template Library – STL
      • Architecture
    • Containers:
      • std::vector,
        std::list,
        std::deque,
        std::set,
        std::multiset,
        std::map,
        and std::multimap
    • Iterators
    • Algorithms
    • Utilities
      std::auto_ptr
  5. New C++11 Standard Library Features
    • Rvalue References and the Associated Move Support
      • Impact on Components
    • Tuples
    • Multithreading
    • Regular Expressions
    • Hash-based Containers:
      • std::unordered_set,
        and std::unordered_map,
        and their multi-variants
    • General-purpose Smart Pointers
      • std::unique_ptr,
        std::shared_ptr,
        and std::weak_ptr

Önskar du mer information?

Behöver du en offert, information eller råd. Kontakta oss!