# Odpowiedzi — CPP10 Rozróżnić kopię od przeniesienia i wybrać Rule of Zero dla bezpiecznego typu zasobowego. ## Task01 — Głęboka kopia Zaimplementuj kopię bufora tak, aby dwa obiekty nie współdzieliły jednej komórki. Oczekiwany stdout: `original=7 copy=9 distinct=1`. 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 — Przeniesienie własności Przenieś bufor move-only i pozostaw obiekt źródłowy w poprawnym stanie pustym. Oczekiwany stdout: `src_empty=1 value=42`. 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 — Rule of Zero Zbuduj typ z bezpiecznych składowych standardowych bez własnego destruktora i operacji copy/move. Oczekiwany stdout: `copy=alpha original=beta moved=alpha`. 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`.