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 and is platform and IDE independent.
Course focus is on the language itself and the most widely used idioms. 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.
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
Kommande kursstarter
Intresseanmälan
Informator är utbildningsföretaget som stärker din konkurrenskraft genom att underhålla, uppdatera och tillföra relevant kunskap inom IT och management där och när du behöver det. Vi har vuxit tillsammans med svensk mjukvaruindustris ledande företag och utbildat utvecklare, tekniker, projektledare och chefer sedan...