LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Я понял. Я и говорю что в C по-хорошему это тоже всё должно быть. Т.е. каждый указатель помимо адреса памяти ещё должен нести длину региона. И каждое обращение по этому указателю должно проверять, не выходит ли за пределы это обращение. Если, конечно, компилятор не может доказать, что проверка не нужна. То же с прочими ошибками вроде двойных delete и тд, везде можно найти способы убрать эти ошибки, пусть и за счёт небольшого проседания производительности. Сейчас компьютеры быстрые, пускай работают.

Ну хотя бы по умолчанию пускай так будет. Если в каком-то конкретном месте нужна экстра-скорость, пускай там объявляют unsafe или что-то подобное.

Исходная версия Legioner, :

Я понял. Я и говорю что в C по-хорошему это тоже всё должно быть. Т.е. каждый указатель помимо адреса памяти ещё должен нести длину региона. И каждое обращение по этому указателю должно проверять, не выходит ли за пределы это обращение. Если, конечно, компилятор не может доказать, что проверка не нужна. То же с прочими ошибками вроде двойных delete и тд, везде можно найти способы убрать эти ошибки, пусть и за счёт небольшого проседания производительности. Сейчас компьютеры быстрые, пускай работают.