C++ Advanced Programming

Informator, i Stockholm (+2 orter)
Längd
4 dagar
Pris
32 950 SEK exkl. moms
Nästa kurstillfälle
27 maj, 2024 (+2 kursstarter)
Utbildningsform
Företagsanpassad utbildning, Onlineutbildning
Språk
Svenska
Längd
4 dagar
Pris
32 950 SEK exkl. moms
Nästa kurstillfälle
27 maj, 2024 (+2 kursstarter)
Utbildningsform
Företagsanpassad utbildning, Onlineutbildning
Språk
Svenska
Kursen är bokningsbar via arrangörens hemsida 🤗

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.

Kommande kursstarter

Välj mellan 2 kursstarter

27 maj, 2024

  • Onlineutbildning
  • Distans

Hör gärna av er för mer information

  • Företagsanpassad utbildning
  • Sverige

Målgrupp

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

Kursinnehåll

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

Intresseanmälan

Beställ information

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!

reCAPTCHA logo Den här hemsidan är skyddad av reCAPTCHA och Googles Integritetspolicy och Användarvillkor tillämapas.
Highlights