Introduction to C++ - Online seminar
Introduction
C++ and programming paradigms, C++ standard evolution, compilers (open source and commercial), C++ in Astronomy, on-line references and books, Integrated Development Environments.
Basic program building blocks
The main
function, include directives, constants and variables, built-in data types, numerical, character and string literals, expressions and operators, promotion and cast, C++ standard strings, input/output, the auto
type specifier and type aliases.
Control structures
Statements and blocks, variable scope, conditional structure (if-else), looping and counting (while, for, range-for), break and continue statements, selective structure (switch-case), C++ standard vectors.
Organizing computation
Functions, references, pass by value and pass by reference, use of const, function overloading, recursions, exception handling, standard containers (vector, list, map), iterators, standard algorithms, template functions, lambda functions.
Organizing data and computation
Struct type, classes, attributes, member functions, const member functions, protection labels, constructors, destructor, assignment operator, static attributes and methods, inheritance, abstract classes, polimorphism.
Memory management
Pointers, function pointers, C arrays, memory allocation and deallocation, smart pointers (shared and unique pointers).