Programming in C++ 2011: Part 2 (Advanced Topics) – 2 Days
Course Description
This Programming in C++ 2011: Part 2 (Advanced Topics) course will present additional topics of the ISO Standard C++11 programming language. Basic, intermediate, and some advanced techniques will be shown. All features shown are applicable to all C++11 variants (on Windows, Unix, and Linux systems).
Course Objectives
The overall course objective is to provide additional C++11 language features in each of the coverages areas from Part 1.
Prerequisites
It is assumed that the participant has attended the Programming in C++2011 : Part 1 (Introduction) course, or has production level coding experience with (any version standard) of C++.
Outline
Namespaces
namespace issues
collisions
pollutions
namespace aliases
inlined namespaces
Advanced I/O (Operations) in C++
I/O extractors
I/O inserters
object oriented file I/O
Defining and using classes
constructors
default keyword
delete keyword
delegating (overloaded types)
template classes
template aliases
forward referencing
variadic templates
Pointers and references in C++11
smart pointers
unique_ptr
shared_ptr
weak_ptr
references
move semantics
move reference (operations)
move constructor
Exception Handling
using noexcept
using std::set_terminate( )
Data Operations in C++11
const_cast
static_cast
brace initialization
passing objects to functions
by value (copy)
by reference
by move reference
Inheritance
using override
using final
Functions
lambdas (anonymous functions)
closures
captures
trailing return type
The Standard Template Library
begin( ) and end( ) methods
tuple container
regular expressions
thread operations
random number operations
clock and timing capabilities
Miscellaneous Features
type aliases
decltype
type traits
static assert
enumerated (scoped) class
user-defined literals
Other courses to explore:
Programming in C++ 2011: Part 1 (Introduction) – Onsite, Custom