This is an old revision of the document!
Advanced C++
Objectives
Latest changes of the C++ standard, C++ 11, C++ 14 and the future C++ 17 are introducing new concepts within the C++ language
aiming to make the language more efficient and more intuitive. It is imperative for a C++ programmer to get familiar with these
concepts as they will become more and more common. This introductory course aims to present some important concepts from C++ 11
and 14 using a comprehensive set on small example programs to help their understanding.
Prerequisites
Medium knowledge of C++ 03 programming is required in order to maximize the benefits of attending to course.
Topics
RValue references and LValue references
- Move semantics.
- std::move and std::forward
- Universal references
- Implementing move semantics using BOOST
Smart pointers
- std::unique_ptr, std::shared_ptr, std::weak_ptr
- RAII - Resource Acquisition Is Initialization
- Smart pointers avalable in BOOST
Smart classes
- Elements that compose a smart class
- Traits
Levels of exception safety and how to achieve them
New elements in C++ 11 and 14 which make programming tasks simpler
- Lambda expressions
- Auto
- Trailing return type syntax
- BOOST replacements
Concurrency in C++
Instructor