0% found this document useful (0 votes)
133 views1 page

AdvancedC Programming

The document describes an advanced 5-day C++ programming course that covers advanced C++ language features, the C++ standard library, and implementing object-oriented design patterns and programming idioms. The course contents include copying and conversions, scope and patterns/idioms, delegation, overloading operators, templates, iterators and algorithms, exception handling, memory management, reference counting, inheritance techniques, and advanced templates. The course is intended for experienced C++ developers wanting to maximize their use of C++. A prerequisite is 3-6 months of C++ programming experience.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
133 views1 page

AdvancedC Programming

The document describes an advanced 5-day C++ programming course that covers advanced C++ language features, the C++ standard library, and implementing object-oriented design patterns and programming idioms. The course contents include copying and conversions, scope and patterns/idioms, delegation, overloading operators, templates, iterators and algorithms, exception handling, memory management, reference counting, inheritance techniques, and advanced templates. The course is intended for experienced C++ developers wanting to maximize their use of C++. A prerequisite is 3-6 months of C++ programming experience.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 1

Advanced C++ Programming (5 days hands-on)

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.

Contents:

• 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

Who Should Attend:

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

Prerequisites:

3-6 months C++ programming experience.

You might also like