2026-07-21 20:13:54 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:13:54 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00
2026-07-21 20:12:59 +02:00

CPP10 — Kopiowanie, przenoszenie i Rule of Zero/Five

    Karta 10/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
    Oś merytoryczna: A Tour of C++ 3e: sekcje 6.26.4. 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 | `Głęboka kopia` | `original=7 copy=9 distinct=1` |

| Task02 | Przeniesienie własności | src_empty=1 value=42 | | Task03 | Rule of Zero | copy=alpha original=beta moved=alpha |

    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 CPP10 1
    stemctl test native-amd64 cpp CPP10 1
    stemctl test native-amd64 cpp CPP10 2
    stemctl debug native-amd64 cpp CPP10 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 92.9%
Shell 5.1%
C++ 1.3%
HTML 0.4%
Makefile 0.3%