feat: implement CPP06 C++20 card
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# CPP06 — Hermetyzacja, niezmienniki i odpowiedzialność klasy
|
||||
|
||||
Karta 06/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
|
||||
Oś merytoryczna: A Tour of C++ 3e: sekcja 4.3 i rozdział 5. Materiał książkowy jest parafrazowany;
|
||||
repozytorium zawiera samodzielne eksperymenty i testy, a nie kopię książki.
|
||||
|
||||
## Taski
|
||||
|
||||
| Task | Temat | Dokładny dowód stdout |
|
||||
| --- | --- | --- |
|
||||
| Task01 | `Walidowana zmiana stanu` | `accepted=1 rejected=1 value=25` |
|
||||
| Task02 | `Pojemność kolejki` | `pushes=2 overflow=1 pops=2 empty=1 depth=0` |
|
||||
| Task03 | `Normalizacja przedziału` | `start=3 end=10 width=7` |
|
||||
|
||||
Każdy task jest osobnym programem w `src/task0N`. Test kompiluje wszystkie
|
||||
jednostki translacji poleceniem zgodnym z `-std=c++20 -Wall -Wextra
|
||||
-Wpedantic -Werror`, uruchamia program i porównuje dokładny wynik.
|
||||
|
||||
## Uruchomienie
|
||||
|
||||
```bash
|
||||
stemctl build native-amd64 cpp CPP06 1
|
||||
stemctl test native-amd64 cpp CPP06 1
|
||||
stemctl test native-amd64 cpp CPP06 2
|
||||
stemctl debug native-amd64 cpp CPP06 3
|
||||
```
|
||||
|
||||
Lokalnie można użyć `make build`, `make test TASK=task02` i
|
||||
`make trace TASK=task03`. Ślad debuggera trafia do `.stem/artifacts`.
|
||||
|
||||
## Granica semestru
|
||||
|
||||
Ta seria nie uczy API RTOS, zaawansowanych kontenerów STL ani
|
||||
współbieżności. Są to osobne bloki następnych semestrów opisanych w
|
||||
`/home/user/dev/keys/cxx.md`.
|
||||
Reference in New Issue
Block a user