@rsatarov

Как ограничить доступ в чужую память (C++, MS Visual Studio)?

Допустим, имеется массив int * arr = new int[3]
При попытке записать, допустим, в arr[5] компилятор, естественно, не дает это сделать. Но вот попытка прочитать значение оттуда - без проблем. Можно ли как-то ограничить даже попытку прочитать значение извне? (Например, выбросом исключения)
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Да можно. Но для того надо использовать std::vector или std::array, метод at(). Смотрите документацию, там написано как.
К слову, компилятор вам не помешает писать за границы массива. Это вам не Rust. Но это UB в C++ и делать так не стоит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы