Reinvent your training with agile, tailor-made solutions.
Log in
Or create your account
You have just added to your selection
Your cart is empty, See our trainings

Description

Constantly evolving, the C++ language offers mechanisms such as genericity or metaprogramming which allow a robust and very rich design. The recent C++11 and C++14 standards integrate a significant part of the BOOST project libraries and significantly improve the Standard Template Library (STL). This training will allow you to deepen design in C++ by learning the latest developments in the language and the effective use of the STL.

Who is this training for ?

For whom ?

Designers and developers of C++ applications, project managers, software architects.

Prerequisites

Training objectives

  • Discover the new features brought by the C++11 version
  • Master the management of memory, pointers and references
  • Implement genericity in C++Discover the STL standard library
  • Use the BOOST and C++11 library
  • Training program

      • Language standard libraries: ctype.
      • h, math.
      • h, stdlib.
      • h, time.
      • h.
      • and others.
      • Advanced mathematical libraries: Linpack, Lapack.
      • Dynamic allocation management: calloc() functions , realloc().
      • Existing functions with variable number of arguments created by the programmer.
      • Practical work Use of several function libraries.
      • Memory allocation classes.
      • Construction, initialization, embedding of objects.
      • Memory leaks.
      • Constance, the word -mutable key, Lazy Computation.
      • C++ friendship and access control.
      • Virtual destruction.
      • Exception handling strategy.
      • Namespaces.
      • nullptr and other literals.
      • The =delete, =default directives.
      • Constructor delegation.
      • The “type safe” enumerations .
      • The keyword auto and loops over an interval.
      • Reference rvalues ​​and impacts the normal form of C++ classes.
      • Lambda-expressions.
      • Practical work Rewriting existing C++ code in C++11, comparison of the two implementations.
      • Binary and unary operators.
      • The indirection operator, use cases.
      • The referencing operator.
      • The prefixed and post-fixed increment/decrement operators.
      • Other operators: comparison, assignment.
      • The overloading of the [] operator, insertion operators ().
      • Functors and operator overloading (), advantage over functions.
      • Practical work r nCreation of functors and proxies (memory release, reference counting) with the operators studied.
      • Conversion operators.
      • Implicit constructions, the explicit keyword.
      • Casting operators const_cast, static_cast, reinterpret_cast.
      • Dynamic conversion and Runtime Type Information.
      • The typeid operator, related exceptions.
      • The type_info class.
      • Control of downcasting 'help for the dynamic_cast operator.
      • Practical work Implementation of the idioms " is-a " and " is-kind-of " with dynamic_cast.
      • Introduction to class patterns.
      • Genericity and preprocessor.
      • Generic function.
      • Generic class.
      • Generic composition.
      • Generic generalization.
      • Partial and total specialization.
      • Introduction to meta-programming.
      • Genericity, principle federator of the STL and BOOST libraries.
      • Practical work Start of the case study which will be completed with the STL and BOOST.
      • Implementation of the composition and generic generalization.
      • Creating generic plug-ins.
      • STL components: complementary types, containers, algorithms, iterators, function objects, adapters.
      • STL character strings, the basic_string template class and its specializations.
      • Sequential and associative containers: definition, role and selection criteria.
      • Allocators and container memory management.
      • Methods of insertion, deletion, iteration and access to the main containers: Vector, List, Set, Stack.
      • The concept of iterator.
      • Traversing a container.
      • The different groups of STL algorithms: non-mutant, mutant, sorting and merging, numerical.
      • Manipulation of containers (manipulation, search for values.
      • ) .
      • Configure generic algorithms using "function" objects.
      • "Adapters" and modifying the behavior of a component.
      • STL and processing on flows (files, memory.
      • ).
      • Principle of RAII: automatic pointers and the auto_ptr class.
      • The standard STL exceptions.
      • Practical work Implementation of relationships with STL collections.
      • Use of any standard algorithms.
      • Historical evolution: Boost --> TR1 --> C++11.
      • The new containers: array, forward_list, unordered_set, unordered_map.
      • The class tuple.
      • Smart pointers: shared_ptr, weak_ptr, unique_ptr.
      • The new functors and binders.
      • Introduction to thread management.
      • Regular expressions.
      • Practical work Implementing robustness with smart pointers.
      • Using regular expressions.
      • The Pointer Container Library (destruction of pointer data from a container).
      • The boost::any and boost::variant data structures.
      • Programming (connections and signals).
      • Process management, interprocess communication mechanisms and shared memory.
      • Practical work Improvement of the implementation of the case study by use the Pointer Container Library.
      • Inheritance versus embedding.
      • Private inheritance.
      • Protected inheritance.
      • Exporting hidden members with the Using Clause.
      • Multiple inheritance and member collision handling.
      • Diamond inheritance.
      • Virtual inheritance and dynamic_cast.
      • Design principles: Liskov substitution, principle of opening/closing, inversion of dependencies.
      • Rules for implementing interfaces in C++.
      • Practical work Combination of multiple, private and export to design robust and highly scalable classes.
    • 1325
    • 28 h

    Submit your review

    Translated By Google Translate