История изменений
Исправление hateyoufeel, (текущая версия) :
Умные указатели позволяют гарантировать отсутствие UB от разыменования и использования освобождённого.
Да, только старое говно никуда не делось. В этом проблема C++ – он пытается быть обратно совместим с C.
Только до тех пор, пока не используешь unsafe.
Нет. Даже в блоках unsafe{} в Rust нет такого безумия, как UB в C. Например, можно распечатать указатель на освобождённую память. Да и проверки на NULL никто не выкидывает.
Писал лет десять назад. С тех пор что-то сильно поменялось?
В том-то и проблема, что нет. Как говнокодили без лишних мыслей в головах, так и говнокодят. 70% дыр в сишном и плюсовом коде всё ещё вызваны проблемами с управлением памятью.
Исходная версия hateyoufeel, :
Умные указатели позволяют гарантировать отсутствие UB от разыменования и использования освобождённого.
Да, только старое говно никуда не делось. В этом проблема C++ – он пытается быть обратно совместим с C.
Только до тех пор, пока не используешь unsafe.
Нет. Даже в блоках unsafe{} в Rust нет такого безумия, как UB в C. Например, можно распечатать указатель на освобождённую память. Да и проверки на NULL никто не выкидывает.