Files
lab-cpp-scope-lifetime/README.md
T
2026-07-21 20:12:58 +02:00

1.4 KiB

CPP08 — Zakres i czas życia obiektów

    Karta 08/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
    Oś merytoryczna: A Tour of C++ 3e: sekcja 1.5 i rozdział 6. 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 | `Automatyczny i statyczny` | `auto=7 static_calls=1,2` |

| Task02 | Obiekt dynamiczny | construct / value=11 / destroy | | Task03 | Zakres i przesłanianie | outer=7 / inner=9 / outer=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 CPP08 1
    stemctl test native-amd64 cpp CPP08 1
    stemctl test native-amd64 cpp CPP08 2
    stemctl debug native-amd64 cpp CPP08 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`.