Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712

Почему тут UB?

28.02.2020, 08:59. Показов 3397. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех. Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
typedef struct {
  int a; int b;
} X;
 
int main()
{
  X* x = (X*)malloc(sizeof(X));
  if (!x) return 1;
 
  x->a = 111;
  x->b = 222;
 
  printf("x->a = %d\n", x->a);
  printf("x->a = %d\n", x->b);
 
  free(x);
  return 0;
}
Говорят, что он корректен в С, но в С++ ведет к неопределенному поведению. Почему он корректен в С понятно, но объясните, почему в С++ это UB?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2020, 08:59
Ответы с готовыми решениями:

Почему тут ошибка
Всем привет! Не могу понять, почему возникает ошибка: class Vector { int values; public Vector(int nDim) {

Почему тут разный вывод?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { for(int i = 0, j = 20; i &lt; 20, j &gt; 10; i++, j--) { printf(&quot;%d...

Можете объяснить, почему тут NPE
Добрый день В программировании новичок. Программа, которая должна вывести после сортировки массива индекс элементов до...

40
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.02.2020, 15:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
oleg-m1973, то, что это не согласуется с твоими представлениями, не означает, что это "просёр".
Это источник проблем с производительностью, которые легко сделать и трудно найти причину (сейчас только в рантайме). Думаю, это плохо по любым представлениям.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.02.2020, 15:19

Почему тут нужен амперсанд (&) ?
Вопрос по foreach , а точнее, по амперсанду (&amp;) в foreach: Есть цикл: $nums = ; foreach($nums as $v) $v = $v * 10; ...

Почему не записывает в textbox? В чем тут ошибка?
private void button3_Click(object sender, EventArgs e) { string strSQL; using (cn = new...

Не могу понять почему не работает и где тут ошибка
Доброго всем времени суток! Нужна ваша помощь скачал с инета форму которая определяет сколько людей онлайн на сайте установил по...

Гибридное видео в ноутах... почему у многих тут проблемы???
Железо: ноут Samsung NP-R730 (JB02RU) это если верить заводской наклейке по инфе но офсайте в этой конкретной конфигурации встоит только...

Где тут ошибка и почему, ну ни как не могу разобраться
/* Программа: Параметры vararg и перегрузка. */ class VarArgs3 { static void vaTest(int ... v) { ...


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

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Новые блоги и статьи
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru