Collection of examples of a variety of C++1X features for use in introductory courses.
- Types and values. Integral types, aggregate types (struct, class). Unions.
- Object data types. Class vs Intances members. Encapsulation. Public, protected, private sections.
- lvalue / rvalue distinction. What is each, what binds with what.
- Iterators. General use, for-range. Reverse and const iterators. Iterators on old c-style arrays.
- References and pointers. Functions as pointers. Primitive arrays as pointers.
- Scopes and lifetimes. Namespaces.
- Storage duration. Global variable, automatic variable and dynamic variable scopes.
- const vs constexpr
- volatile keyword.
- Function types. Argument passing: copy vs reference. Overloads. Function signature.
- Constructors. Initialization vs. assignment. Use of explicit.
- Basic STL. Containers. I/O and strings.
- std algorithms
- Program build stages. Preprocessing, compilation and linking.
- Structure of a program. Header files, source files, object files.
- Expressions and statements. Control flow.
- Program build tools. Compilers (gcc/clang), linkers (ld/llvm) and build systems (make/cmake).