feat: implement CPP08 C++20 card
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Odpowiedzi — CPP08
|
||||
|
||||
Powiązać miejsce przechowywania obiektu z początkiem i końcem jego czasu życia.
|
||||
|
||||
## Task01 — Automatyczny i statyczny
|
||||
|
||||
Porównaj nowy obiekt automatyczny z zachowującym stan obiektem statycznym.
|
||||
|
||||
Oczekiwany stdout: `auto=7 static_calls=1,2`.
|
||||
|
||||
Pliki dowodu: `src/task01/main.cpp`.
|
||||
|
||||
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.
|
||||
|
||||
## Task02 — Obiekt dynamiczny
|
||||
|
||||
Jawnie zestaw new z delete i obserwuj moment wykonania destruktora.
|
||||
|
||||
Oczekiwany stdout: `construct / value=11 / destroy`.
|
||||
|
||||
Pliki dowodu: `src/task02/main.cpp`.
|
||||
|
||||
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.
|
||||
|
||||
## Task03 — Zakres i przesłanianie
|
||||
|
||||
Pokaż, że nazwa wewnętrzna nie zmienia obiektu o tej samej nazwie w zakresie zewnętrznym.
|
||||
|
||||
Oczekiwany stdout: `outer=7 / inner=9 / outer=7`.
|
||||
|
||||
Pliki dowodu: `src/task03/main.cpp`.
|
||||
|
||||
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.
|
||||
Reference in New Issue
Block a user