RedDeveloper
Блог
Вопросы
Теги
Топ 100 вопросов про Undefined Behavior
Коллекция из 100 самых популярных вопросов про
undefined-behavior
с ответами и комментариями.
Топ 100
Топ 15
Топ 20
Топ 25
Топ 30
Топ 50
Все вопросы
Вопросы на собеседовании
1
Что такое строгое правило псевдонима?
2
Допускает ли стандарт C++, что неинициализированный логический объект приводит к сбою программы?
3
О каких типах неопределенного поведения должен знать программист на C++?
4
Каково общее неопределенное / неопределенное поведение для C, с которым вы сталкиваетесь?
5
Оптимизация компилятора может привести к целочисленному переполнению. Все хорошо?
6
Является ли std :: memcpy между различными тривиально копируемыми типами неопределенным поведением?
7
Что такое ошибочное поведение? Чем оно отличается от неопределенного поведения?
8
Вызывают ли std::min(0.0, 1.0) и std::max(0.0, 1.0) неопределенное поведение?
9
Получение висячего указателя путем возврата указателя из локального массива в стиле C
10
Допустимо ли в C++ обрабатывать скалярные члены структуры, как если бы они составляли массив?
11
Установка дополнительных битов в bool делает его истинным и ложным одновременно
12
Неправильное приведение - это приведение или использование, которое является неопределенным поведением
13
Разница в правилах окончания срока службы?
14
Двойное освобождение в стандартной библиотеке C++ с использованием только std::function и std::shared_pointer
15
Это неудачный тест, который добавляет ноль к неопределенному поведению нулевого указателя, ошибку компилятора или что-то еще?
16
Явный вызов деструктора
17
Примеры использования reinterpret_cast, которые не запускают UB
18
Можно ли создавать новое размещение в памяти, управляемое интеллектуальным указателем?
19
Valgrind показывает утечку памяти в std :: make_unique
20
В C и C++ это выражение, использующее оператор запятой, например «a = b, ++ a;» неопределенный?
21
Хорошо ли определено это поведение инициализации члена C++?
22
Разрешено ли отбрасывать const для объекта, определенного как const, если он фактически не изменен?
23
Свойства с нулевой стоимостью с синтаксисом члена данных
24
Является ли неопределенным поведение использование указателя после выделенной памяти?
25
Неопределенное поведение или ошибка оптимизации gcc
26
Ошибка reinterpret_cast или УБ?
27
Действительно ли четко определено, как проверять выравнивание указателя, используя целочисленное значение указателя?
28
Последовательно ли осуществляется доступ к многомерным массивам?
29
Выброс исключения C++ через вызов функции C
30
Правильно ли определено изменение переменной в ее объявлении?
31
Почему оператор* rvalue unique_ptr возвращает lvalue?
32
Соответствует ли определение int a = 0, b = a++, c = a++; определили поведение в C?
33
Вызывает ли конфликт между объявлением и определением неопределенное поведение?
34
Обоснование ограничительных правил для извлечения и повторной вставки с картой
35
Является ли mem :: Forgot (mem :: uninitialized ()) определенным поведением?
36
Влияет ли неопределенное поведение на static_assert?
37
Является ли временный объект изначально константой?
38
Постоянное изменение значения
39
Вектор пуст после клонирования структуры с неинициализированным членом
40
Какие значения перечисления являются неопределенным поведением в С++ 14 и почему?
41
Выделение памяти для части структуры
42
Является ли (int32_t) 255 << 24 неопределенным поведением в gcc (с ++ 11)?
43
Почему это не поведение undefined для уничтожения объекта, который был перезаписан путем размещения new?
44
Почему удаление void * - это UB, а не ошибка компиляции?
45
Является ли неопределенным поведение передача указателя на несконструированный объектstreambuf в конструктор ostream?
46
Преимущество бесконечных циклов без побочных эффектов в том, что C++ является UB по сравнению с C?
47
Сдвиг влево unsigned int больше, чем его ширина битового поля, но меньше, чем его размер типа undefined?
48
Почему существует «неопределенное поведение»?
49
Когда побитовые операции не определены в C?
50
Сохраняет ли аргумент put_money значение или ссылку?
51
Работа с неопределенным поведением при использовании reinterpret_cast в отображении памяти
52
Атрибут функции C++, указывающий, что время жизни возвращаемого значения совпадает с аргументом
53
Почему PHP выбирает именно так случайные значения?
54
Как gcc оптимизирует этот цикл?
55
Вызывает ли сравнение освобожденного указателя UB?
56
Является ли поведение следующего шаблона доступа C union undefined?
57
Приведение массива char к указателю объекта - это UB?
58
Вызывает ли 16-битная математика в этой программе неопределенное поведение?
59
Является ли безопасным и определенным поведением преобразование между T и UnsafeCell <T>?
60
Сравнение двух строковых литералов с помощью memcmp
61
Хорошо ли определено приведение к идентичному макету с константными членами?
62
Неожиданный memcpy для некопируемого и неперемещаемого типа при использовании co_await
63
Qsort с размером 0 не определен?
64
Является ли передача справки от ребенка к родителю во время строительства UB?
65
Бесконечный цикл против бесконечной рекурсии. Оба не определены?
66
Google Sparsehash использует realloc () для типа, который не копируется тривиально
67
Инициализирует декларатор указателя с недопустимым поведением undefined указателем?
68
Используется ли размещение-новое, копируется хранилище, а затем осуществляется доступ к поведению значения undefined?
69
Назначение подраздела массива в стиле C с использованием std::array& без нарушения «строгого псевдонима» и, следовательно, вызова UB?
70
Почему преобразование static_cast ускоряет неоптимизированную сборку моей функции целочисленного деления?
71
Различное поведение встроенных функций в зависимости от версии GCC
72
Класс перечисления С++: приведение к несуществующей записи
73
Как отловить неопределенное поведение при инициализации аргумента функции
74
Реализация контейнера типа std :: vector без неопределенного поведения
75
Является ли ManuallyDrop <Box <T>> с определенным поведением mem :: неинициализированного?
76
Как удаление указателя void может делать что-либо, кроме вызова глобального оператора удаления?
77
Передача не-lvalue в качестве ссылочного аргумента const. Создана ли временная область в локальной области или области вызывающего абонента?
78
Std::start_lifetime_as и UB в многопоточном приложении C++23
79
Имеет ли эта программа с ограниченной рекурсией неопределенное поведение?
80
Может ли доступ к элементу массива за пределами границы повредить его
81
Доступ к членам союза C++ и неопределенное поведение
82
О выровненном хранилище и тривиально копируемых/уничтожаемых типах
83
Является ли `reinterpret_cast` между указателем вектора аппаратного SIMD и соответствующим типом неопределенным поведением?
84
Есть ли какая-нибудь платформа / компилятор с двумя дополнениями, где сдвиг со знаком не делает обычных вещей?
85
Когда на практике безопасны указатели с перфорированными типами?
86
Приводит ли чтение или запись всего 32-битного слова, даже если у нас есть ссылка только на его часть, к неопределенному поведению?
87
Неблокирующий вызов std :: async: чем опасна эта версия?
88
Как обработать ошибку «ссылка на упакованное поле не выровнена»?
89
Относится ли неопределенное поведение только к выполнению программы или может касаться самой программы?
90
Определено ли поведение для назначения вызова функции в или в if (С++ 17)
91
Почему мой компилятор «оптимизирует» этот цикл for в бесконечный цикл при компиляции с -O3 в C++
92
Почему бы не определить некоторые неопределенные поведения?
93
Как проверить, является ли строка, переданная в качестве аргумента, изменяемой строкой
94
Неопределенное поведение за пределами максимального индекса массива
95
Какое соглашение о вызовах использует clang?
96
Перехват целочисленного переполнения с помощью LLVM?
97
Почему в поведении, определяемом CRTP, используется downcast?
98
Почему и как gcc компилирует неопределенное поведение в этом тесте подписанного переполнения, чтобы он работал на x86, но не на ARM64?
99
Сдвигается ли подписанный бит короткого подписанного неопределенного поведения в C?
100
Можно ли исправить небезопасный каламбур, пометив переменную как изменчивую?