2026-07-21 20:13:54 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:13:54 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00

CPP09 — RAII: zasób związany z czasem życia obiektu

    Karta 09/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
    Oś merytoryczna: A Tour of C++ 3e: sekcja 6.3. 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 | `Uchwyt jako obiekt` | `acquire / open=1 / release / open=0` |

| Task02 | Wczesny return | acquire / work=short / release / after | | Task03 | Zagnieżdżone zasoby | acquire=A / acquire=B / inside / release=B / release=A |

    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 CPP09 1
    stemctl test native-amd64 cpp CPP09 1
    stemctl test native-amd64 cpp CPP09 2
    stemctl debug native-amd64 cpp CPP09 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`.
S
Description
C++20 Year 2 semester 1 card
Readme 422 KiB
Languages
JavaScript 93.3%
Shell 5.1%
C++ 0.9%
HTML 0.4%
Makefile 0.3%