C++ task solutions from Languages and tools for programming I course at MIMUW.
During the semester, students got 7 tasks to be programmed with different levels of difficulty, touching on different aspects of C++ language. First six programs were supposed to be developed in teams, last one individually.
Task | Aspects | Teamed with |
---|---|---|
01/ |
basics, STL containers & algorithms, working on strings, regex, iterators | @saosau |
02/ |
namespaces, portability between C and C++, incremental compilation, name mangling, header guards, module consolidation, static initialization order fiasco, overloading | solo |
03/ |
value/ref semantics, classes, initialization, const-correctness, C++20 consteval & constinit, rvalues, move semantics, copy-constructors, enums, operator overloading | @Mikimm16 |
04/ |
templates & metaprogramming, compile-time assertions, fold expressions, concepts, variadic templates, auto and decltype keywords | @voytala, @uroslam |
05/ |
memory management, shared/weak/unique pointers, exception safety, RAII, Pimpl, copy-on-write | @jk438520 |
06/ |
dynamic polymorphism, C++20 modules, slicing, inheritance, Liskov substitution principle, GRASP, SOLID, project patterns | @MMusername |
07/ |
functional programming, lambda, C++20 lambda, PMF, <functional> header |
solo |
Copyright of the task descriptions and resources: MIM UW.