3 / 3 / 0
Регистрация: 12.07.2022
Сообщений: 216

Неопределённое поведение

12.07.2022, 02:00. Показов 4589. Ответов 21
Метки ub (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, коллеги! Хочется чуть больше понимать про это UB. Много статей посмотрел, но ещё куча вопросов. Везде эту вещь преподносят как опасность совершения какого угодно действия (хоть формат це, хоть отправка непристойных картинок контактам). Ясно что это страшилки, притянутые за уши. Хочется знать больше из практики.

1) Например обращение к неинициализированной переменной. Или разыменование указателя на освобождённую память. "Будет UB". Но всё ограничится лишь случайным мусорным значением в переменной, или же программа может полностью съехать с катушек (выполнить что-то неожиданное), даже если полученное неожиданное значение никак не влияет на логику в коде?

2) Переполнение в знаковом типе. Например прибавление 1 к максимальному значению. Просто на разных платформах могут получиться разные значения (из-за того что отличается способ хранения и порядок бит), или же будет ещё что-то непредсказуемое?

3) Теперь вещи посуровее, например запись за границами массива. Можно повредить стек и адрес возврата, и программа действительно сойдёт с ума. А может ли это привести к записи в память другого процесса? Это действительно более опасная вещь чем две предыдущие, или и там и там возможно всё?

4) Известны ли какие-то реальные случаи серьёзных последствий от какой-нибудь безобидной проги, где из-за UB например повредились какие-то файлы (но в её коде нет обращений к файлам), или хотя-бы BSOD? Ясно что у новичков бывает куча случаев UB, а кое-что работает годами и всё равно имеет где-то UB. Насколько реальна опасность повредить систему из-за этого?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.07.2022, 02:00
Ответы с готовыми решениями:

Неопределенное поведение С++
Вот такой вопрос: что из этого обязательно вызовет неопределенное поведение ? 1) Разыменование нулевого указателя 2) Выход за...

Неопределённое поведение кода
Здравствуйте! #include <stdio.h> int main() { int var; printf("%d\n", var); // <-- UB? return 0; ...

Создание массива, неопределенное поведение
Пишу такой код: #include <iostream> #include <stdlib.h> using namespace std; struct GL{ GL () { } virtual...

21
15.07.2022, 14:20  [ТС]
Студворк — интернет-сервис помощи студентам

Не по теме:

Fulcrum_013, жесть! Что это за зверь такой? HP или Crucial какой-нибудь?

0
17.07.2022, 11:04

Не по теме:

Geek Geekson, OCZ Trion 150. В 200-ой модели это уже пофиксили. А вооще на том контроллере у многих SSD такая проблема вылазила

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2022, 11:04

Неопределенное поведение пользовательской функции
значит писал для лабы вот такой код: town.h #include <Windows.h> #include <conio.h> #include <iostream> #include...

Неопределенное поведение в Debug и Release
Писал программу для сложения больших чисел (в файле содержатся числа с количеством цифр от 1 до 30). При запуске через компилятор всё...

Keylogger, неопределенное поведение, undefined behaviour
#define WIN32_LEAN_AND_MEAN //Exclude rarely-used stuff from Windows headers #include <Windows.h> #include <fstream> #include...

Неопределенное поведение при приведении типа
Суть проблемы в том что, после принудительного приведения типа деструктор наследника не вызывается, вызывается деструктор базового типа.Но...

Один и тот же объект в одном выражении модифицируется несколько раз - неопределенное поведение
Уважаемые форумчане! Недавно столкнулся с интересным на мой взгляд необычным поведением компилятора c++ от keil. Определил класс шаблон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru