Leksykon IT › Programowanie › Zachowanie niezdefiniowane (undefined behavior)

Zachowanie niezdefiniowane (undefined behavior)

Programowanie Svenska → Zaktualizowano: 2026-10-07

Kod w C/C++, którego zachowanie nie jest określone — kompilator może zrobić cokolwiek, łącznie z usunięciem tego kodu.

Klasyka gatunku: przepełnienie liczby całkowitej ze znakiem, dzielenie przez 0, użycie pamięci po zwolnieniu, odczyt niezainicjalizowanej pamięci. Kompilator optymalizuje przy założeniu, że „UB się nie zdarza”, więc zwykły błąd zamienia się w lukę bezpieczeństwa. W testach wyłapują je sanitizery (ASAN, UBSAN). Rust eliminuje większość UB już samą konstrukcją języka.

← Wróć do leksykonu