Unlock the potential of generative AI across all your managerial functions.
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.
    • 1226
    • 28 h

    Submit your review

    Translated By Google Translate