Advanced Topics in C++

Prof. Dario Menasce

English

• 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

2 CFU, 24 ORE

January - March2022

Advanced Topics in C++

Prof. Dario Menasce

English

• 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

2 CFU, 24 hours

January - March 2022

Staff

    Coordinatore

  • Marta Calvi
    Marta Calvi
  • Teacher

  • Dario Menasce

Enrolment methods

Manual enrolments
Self enrolment (Student)