Titolo del corso
Advanced topics in C++
Codice identificativo del corso
2122-86R-ATC++
Syllabus del corso
Titolo
Advanced Topics in C++
Docente(i)
Prof. Dario Menasce
Lingua
English
Breve descrizione
• Introduction to compiled languages
• The C++ compiler
• GNU g++
• Compilation stages
o The tokenizer
o The parser
o The pre-processor
o The compiler
o The linker
o 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)
o Vectors
o Maps
o Lists
o Queues
o Iterators
o Algorithms
• Advanced features
• Plugins
• Qt as an example of framework with IDE and asynchronus programming •
Root
CFU / Ore
2 CFU, 24 ORE
Periodo di erogazione
January - March2022
Title
Advanced Topics in C++
Teacher(s)
Prof. Dario Menasce
Language
English
Short description
• Introduction to compiled languages
• The C++ compiler
• GNU g++
• Compilation stages
o The tokenizer
o The parser
o The pre-processor
o The compiler
o The linker
o 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)
o Vectors
o Maps
o Lists
o Queues
o Iterators
o Algorithms
• Advanced features
• Plugins
• Qt as an example of framework with IDE and asynchronus programming •
Root
CFU / Hours
2 CFU, 24 hours
Teaching period
January - March 2022