Visa utbildning.se som: Mobil

C++ Advanced Programming

Informator
Kort om utbildningen
4 dagar
32 950 SEK exkl. moms
Nästa tillfälle: 2019-02-19 - Sverige
Rikstäckande
Företagsanpassad utbildning
Kommande starter
Sverige
2019-02-19  
32 950 SEK
2019-02-19  
32 950 SEK
2019-02-19  
32 950 SEK
2019-04-09  
32 950 SEK
2019-04-09  
32 950 SEK
2019-04-09  
32 950 SEK

Kursbeskrivning

This is the course for experienced C++ programmers with a need to expand their skills into a complete knowledge of the language and new ways to use it for stable, effective and well designed applications. The course is fully updated to the C++17 standard, and is platform and IDE independent.

Course focus is on the language itself and the most widely used idioms. For a course on the Standard Library, see T1233 Applied Modern C++. Several labs illustrate the theory. Among the lab themes are resource allocation, advanced operator overloading, smart pointers, function objects, interfaces and abstract classes, exception safety, move semantics and forward references.

Working knowledge of C++, as from T516 C++ Programming - Introduction plus practical experience

Course material in English.

Developers with a good working knowledge of everyday C++, as from any basic course plus practical experience.

Course Outline:

Module 1. Introduction

Module 2. Compiler Generated Member Functions

  • Default constructor 
  • Copy constructor 
  • Assignment operator
  • Single argument constructor
  • Resource allocating classes
  • Move semantics
  • Initializer list constructors

Module 3. Class Members

  • Nested types
  • Aliases
  • Static members
  • Const members
  • Reference members
  • Enum as a member
  • Ref qualified methods
  • Function pointers and method pointers
  • Type inference
  • Structured binding

Module 4. Inheritance and Interfaces

  • Overrides
  • Inheriting constructors
  • Multiple inheritance
  • Object identity
  • Virtual calls from constructor/destructor
  • Abstract base classes
  • Interface
  • Safe downcasting

Module 5. Operator Overloading

  • Restrictions
  • Member or friend
  • Priority/associativity/commutativity
  • Increment/decrement operator
  • Index operator
  • Type converters
  • Bool operator
  • User defined literals

Module 6. Preprocessor Directives

  • Macros
  • Conditional compilation
  • Include guard
  • Conditional compilation
  • String operator
  • Catenation operator

Module 7. Templates

  • Type polymorphism
  • Instantiation
  • Function templates
  • Class templates
  • Type and value parameters
  • Templates and inheritance
  • Specializations and partial specializations
  • Static members
  • Explicit instantiation requests

Module 8. Exceptions

  • Throw
  • Exception classes
  • Catch
  • Exception declarations
  • Alternative designs

Module 9. Namespaces

  • Declaration
  • Nested namespaces
  • Alias
  • Using and namespaces
  • Namespace std
  • Unnamed namespaces

Module 10. Copy-Swap and Exception Safety

  • Exception Safety
  • Copy-Swap for Assignment
  • std::swap and std::move
  • Copy-Swap for General Use

Module 11. Function Objects

  • The function call operator
  • Function pointer callback
  • Lambda expressions
  • The function standard class
  • Policy objects
  • Event objects

Module 12. Universal Forward References

  • Overloading on lvalue/rvalue
  • Creating a Forward Reference
  • Perfect Forwarding

Module 13. Smart Pointers and Iterators

  • Smart Pointers ownership
  • Schemes for ownership transfer
  • The Standard Library smart pointers
  • Iterators
  • The Standard Library Iterators
  • Range based for

Module 14. Standard Library Containers

  • Overview collections and algorithms
  • Templated collections in more detail
  • The string class
  • Iterators
  • Data types
  • Assessing time and time complexity

Module 15. Miscellaneous Standard Classes (optional)

  • Streams library
  • Filesystem
  • Thread and synchronization classes
  • Random numbers
  • Regular expressions
  • Time

What do our participants think

" Very skilled and a good teacher. Covers both some basics and more advanced topics." "Läraren förklarade många komplicerade saker på ett sådant vis att det blev jättelätt att förstå principen och inte enbart hur de används. Bästa programmeringsläraren jag haft!"

 

Intresseanmälan

Fyll i formuläret för att få mer information om C++ Advanced Programming, direkt från arrangören. Det är gratis och inte bindande!

Informator

Informator

Informator Time-to-Skills™

Informator är ett utbildningsföretag som stärker individens, gruppens och organisationens konkurrensförmåga genom att underhålla, uppdatera och tillföra relevant kunskap inom IT. Sedan 1990 har informator utbildat många av de ledande företagen på den Nordiska marknaden. Tillsammans med vårt finska ägarbolag Soprano...


Läs mer om Informator och visa alla utbildningar.

Kontaktuppgifter

Informator

Karlavägen 108
115 26 Stockholm

 Visa telefonnummer

Recensioner
Kursrecensioner
Bli den första att recensera C++ Advanced Programming!

Arrangörsrecensioner
(4,4)
Baseras på 444 recensioner
Alla recensioner för arrangören