The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Обновление Firefox 86.0.1"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Обновление Firefox 86.0.1" +2 +/
Сообщение от Аноним (192), 12-Мрт-21, 17:54 
- Руками проверять вхождение индекса в массив нет необходимости. Можно использовать .get() и получить Option. Ну то есть Some(значение) если индекс внутри массива или None если вне массива. Но если программисту хочется, то можно и так, как делают в С. Можно даже unsafe сделать. Просто это будет уже выбор программиста, и он должен явно использовать такой метод.

- растаман не может "забыть" проверить результат. Потому что получает Option/Result (в зависимости от чего вызывали). Для массива/слайса/вектора это совсем другой тип, чем тип элемента, дальше просто система вывода типов не пустит во время компиляции;

- panic!() это _не_ sigsegv. Это накрученный аналог fprintf(stderr,"нам капец"); exit(1)  

- что произойдет если грязными ручками по сишному (то есть array[index] ) залезть в массив за его пределами?  Если размер массива и индекс известны на стадии компиляции то компилятор не пропустит. Если динамически, то тот же panic. Явно painc!() обычно пишется для того, чтобы указать вменяемое сообщение об ошибке.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Обновление Firefox 86.0.1, opennews, 11-Мрт-21, 19:57  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру