Advanced C++ Programming - K-Tech

Advanced C++ Programming

Advanced C++ Programming

Kursleverandør: Glasspaper

C++ is a powerful and complex language. This course covers advanced C++ language features and development techniques, to help you get the most out of the language. The course also provides thorough coverage of the C++ Standard Library, and explains how to implement OO design patterns and C++ programming idioms to reinforce best practice in your code.


C++ developers who want to experience the full power of the C++ language.


3-6 months C++ programming experience.

Course outline:

  • Setting the Scene: Recap of C++ and OO features and techniques; ISO C++; Core language additions; Recap of the standard library
  • Copying and Conversions: staticcast, dynamiccast, constcast and reinterpretcast; The mutable keyword; The explicit keyword; User defined conversion operators; Copy construction and assignment
  • Scope and Related Patterns/Idioms: Recap of static class members; The Singleton pattern; Defining nested classes; The Handle/Body idiom; Using namespaces effectively
  • Using Delegation: Recap of association and delegation; The Object Adapter pattern; The Proxy pattern; The Null Object pattern; Defining smart pointers; Lazy loading
  • Overloading the subscript operator: How to overload []; Why to overload []; Creating multi-dimensional containers
  • Template Functions: Overview of template functions; Implementing generic algorithms using template functions
  • Template Classes: Overview of template classes; Specifying multiple type parameters; Using the standard container classes
  • Using Iterators and Algorithms: What is an iterator? Using standard iterators; Creating generic algorithms using iterators; Function objects
  • Exception Handling Techniques: Recap of exceptions; The standard exception class hierarchy; Uncaught exceptions; Strategies for handling exceptions; Exception safety
  • Effective Memory Management: Handling allocation failures; Overriding the new operator to customise memory allocation; Caching; Controlling timing of construction and destruction
  • Reference Counting Techniques:Defining classes that use shared representation objects; Reference-counted strings; Defining smart pointers for garbage collection
  • Inheritance Techniques: Defining interfaces; Multiple inheritance; Virtual base classes; Interface classes; Mixin classes; Runtime type information (RTTI); Private and protected inheritance; The Class Adapter pattern
  • Advanced Template Techniques: Defining non-type template parameters; Defining template adapters; Specifying default template parameters; Specializing templates; Defining trait classes
  • Call-back Techniques: Implementing call-backs using function pointers; The Command pattern; Function objects; Member function pointers




5 dager




Kongsberg Teknologipark bygg 10


Påmelding til kurs

  • Dette feltet er for valideringsformål og skal stå uendret.