Я хотел бы спросить сообщество C ++/Rust за их мнение о чем -то. По этой причине, и, учитывая противоречие, связанные с отсутствием безопасности этого языка в определенных сценариях и растущей популярности ржавчины, я хотел бы задать вам несколько вопросов. Пожалуйста, будьте честными. Хорошо, вот и мы! < /P>
a. Первый вопрос:
Существует много разговоров о C ++, у которых есть слабости, которые исправляют ржавчину:
- Управление памятью:
риск висящих указателей.
Double Free (дважды освобождение).
Use-Fear Free (с использованием Freed Memory).
Утечки памяти (забывая о свободной памяти). < /P>
condurrence: < /li>
< /ol>
c ++ имеет нулевые указатели (nullptr). Классическая ошибка: Null Pointer Dereference. < /P>
Опасные слезы: < /li>
< /ol>
c ++ позволяет опасным отменам (Reinterpret_cast, static_cast), которые могут нарушить время выполнения. Переменные: < /li>
< /ol>
В C ++ можно использовать ненициализированные переменные → мусорная память. < /p>
Мой вопрос: эти ошибки в C ++ неизбежны? То есть, может ли опытный программист избежать их, или они в конечном итоге происходят? Есть ли хорошее руководство по устранению этих ошибок, если он тщательно реализован? < /P>
b. Второй вопрос: < /p>
По сей день программисты Rust по -прежнему должны использовать много библиотек, написанных в C или C ++ для многих вещей. Мы согласны с тем, что это достигается с помощью привязки и оберток, но разве это не делает его одинаково небезопасным? Я считаю, что 100% безопасный код ржавчины - это код, который составляет 100% ржавчин, но, во многих случаях это не так, где преимущество использования ржавчины, учитывая, что у C ++ (и C) есть огромная коллекция библиотек ...? < /P>
, как я уже сказал, я прошу вас быть честным со своими ответами, так как это очень важно для меня.
Подробнее здесь: https://stackoverflow.com/questions/797 ... hat-unsafe
Мобильная версия