Cześć!
Mam pytanko, czytam książkę o C++ i jest w niej zapis taki sam jak znalazłem na stronie podanej w źródle. Chodzi mi konkretnie o tą część:
Lokacyjna funkcja operator new() jest najprostszym alokatorem tego rodzaju. Jej definicja znajduje się w standardowym nagłówku :
void*operator new (size_t sz, void* p) noexcept; // lokuje obiekt o rozmiarze sz w p
void*operator new[](size_t sz, void* p) noexcept; // lokuje obiekt o rozmiarze sz w p
void operator delete (void* p, void*) noexcept; // jeśli (p), *p jest niepoprawny
void operator delete[](void* p, void*) noexcept; // jeśli (p), *p jest niepoprawny
Operatory lokacyjne delete
tylko informują system usuwania nieużytków, że usunięty wskaźnik nie jest już bezpiecznie derywowany (ang. safely-derived).
źródło: https://strefainzyniera.pl/artykul/963/pamiec-wolna-i-zarzadzanie-pamiecia
I tutaj pojawia mi się pytanie, co to jest "safely-derived"? Co oznacza, że "wskaźnik nie jest już bezpiecznie derywowany"? Oraz dodatkowo, co to jest system usuwania nieużytków w C++?
Z góry dziękuję za pomoc :)