Przybliżam trochę wyjątki.
Zapomniałem jeszcze powiedzieć, że od standardu C++11, jest takie słówko jak noexcept pisane na końcu deklaracji metody lub funkcji. Mówi to tylko tyle że ta metoda nie rzuca wyjątków. Jeśli piszemy konstruktor przenoszący lub przenoszący operator przypisania i nie damy tam noexcept, to np. kontenery mogą nam nie wykonać tej metody, mimo że podamy referencje do r wartości. Także lepiej to dodawać. Przykład: MyClass& operator=(MyClass&& other) noexcept. Jest jeszcze operator noexcept(), który zwraca true jeśli metoda lub funkcja ma w deklaracji noexcept. W przeciwnym razie zwraca false.
Tutaj można znaleźć kody: https://github.com/TygodniowyCplusplu...