Co jest nie tak z „sprawdzaniem przydziału” i co to znaczy?

W książce Herb SutteraWyjątkowy C ++ (1999), ma słowa w rozwiązaniu punktu 10:

„Exception-unsafe” i „poor design” idą w parze. Jeśli fragment kodu nie jest bezpieczny dla wyjątków, jest to w porządku i można go naprawić. Ale jeśli fragment kodu nie może być zabezpieczony przed wyjątkami ze względu na jego konstrukcję, prawie zawsze jest to sygnał słabej konstrukcji.

Przykład 1: Funkcja o dwóch różnych obowiązkach jest trudna do zapewnienia wyjątkowości.

Przykład 2: Operator przypisania kopii, który jest napisany w taki sposób, że musisprawdź przydział własny prawdopodobnie nie jest też wyjątkowo bezpieczny

Co on ma na myśli pod pojęciem „sprawdzić przydział do siebie”?

[ZAPYTANIE OFERTOWE]

Dave i AndreyT pokazują nam dokładnie, co oznacza „sprawdzenie przydziału”. Dobre. Ale pytanie nie jest skończone. Dlaczego „sprawdzanie przydziału własnego” boli „bezpieczeństwo wyjątków” (według Hurb Sutter)? Jeśli osoba wywołująca próbuje wykonać samodzielne przypisanie, to „sprawdzenie” działa tak, jakby nigdy nie nastąpiło przypisanie. Czy to naprawdę boli?

[NOTATKA 1] W punkcie 38Tożsamość obiektu później w książce Herba wyjaśnia on, że jest samowoli.

questionAnswers(4)

yourAnswerToTheQuestion