Titolo del corso
Advanced topics in C++
Codice identificativo del corso
86R-XXXVI-ATC
Syllabus del corso
Modalità didattica
2 CFU, 24 ore.
Periodo di erogazione dell'insegnamento
16, 23, 25 febbraio 2021 h. 15-17;
2, 4, 9, 11, 16, 18, 23, 25, 30 marzo 2021 h. 15-17.
Detailed program
- Introduction to compiled languages
- The C++ compiler
GNU g++
Compilation stages
The tokenizer
The parser
The pre-processor
The compiler
The linker
The loader - Pointers & References
- Stack and heap (memory management)
- The concept of "scope"(memory management)
- Classes
Encapsulation
Polymorphism
Inheritance
Multiple inheritance
Friendship
Difference between "class" and "object"
Garbage collection(memory management)
Ownership
Constuctors/destructors
Explicit constructors
Copy constructor(memory management)
Forward declarations
Constness
Static variables - Exception handling
- Casting (static, dynamic)
- Operator overloading
- The singleton pattern
- Namespace
- Generic programming
Templating
Standard template library (STL)
Vectors
MapsoLists
Queues
Iterators
Algorithms - Advanced features
Plugins
Qt as an example of framework with IDE and asynchronus programming
Root.
Teaching form
2 CFU, 24 hours.
Semester
February 16, 23, 25 2021 h. 15-17;
March 2, 4, 9, 11, 16, 18, 23, 25, 30 2021 h. 15-17.