|
-342 / 1 / 0
Регистрация: 27.12.2025
Сообщений: 29
|
|
Неинициализированные указатели14.04.2026, 17:27. Показов 9430. Ответов 130
Метки нет (Все метки)
Подскажите пожалуйста, если использование неинициализированных указателей в С++ сопряжено с рисками неопределённого поведения и случайного доступа к памяти, то для каких целей в языке оставлена возможность объявления неинициализированных указателей?
0
|
|
| 14.04.2026, 17:27 | |
|
Ответы с готовыми решениями:
130
Неинициализированные локальные переменные Неинициализированные переменные Неинициализированные локальные переменные warning C4700 |
|
-342 / 1 / 0
Регистрация: 27.12.2025
Сообщений: 29
|
||||||
| 15.04.2026, 00:55 [ТС] | ||||||
p0= 0x7194e84818 *p0= -7.72784e-33 Как-то так.
0
|
||||||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
|
| 15.04.2026, 00:58 | |
|
0
|
|
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
|||
| 15.04.2026, 01:03 | |||
|
Надо что бы какой то смысл был... Добавлено через 2 минуты
0
|
|||
|
-342 / 1 / 0
Регистрация: 27.12.2025
Сообщений: 29
|
|
| 15.04.2026, 01:04 [ТС] | |
|
Наталья8, Догадайся.
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 15.04.2026, 01:24 | ||
|
0
|
||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
||||||
| 15.04.2026, 01:32 | ||||||
0
|
||||||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
|
| 15.04.2026, 01:34 | |
|
0
|
|
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
||||||
| 15.04.2026, 01:38 | ||||||
0
|
||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
|||||||||||||||||
| 15.04.2026, 01:40 | |||||||||||||||||
|
А ну-ка попробуем поинтереснее
0
|
|||||||||||||||||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
||||||||
| 15.04.2026, 02:01 | ||||||||
|
Работает.
в массив вставил double... Добавлено через 7 минут Добавлено через 11 минут Секрет открою... Неинициализированных указателей не должно быть... Они должны быть инициализированные. ----------------- Я недавно шифровал... Без разницы массив какого типа ты используешь. Лишь бы места хватило.
0
|
||||||||
| 15.04.2026, 02:20 | ||
|
0
|
||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
||
| 15.04.2026, 02:32 | ||
|
Пардон... Такая же херня. Ерунда конечно, на одном компиляторе ошибка, на другом сама инициализируеться. Я всё инициализирую сразу. Иначе не работает. И вам советую.
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 15.04.2026, 02:51 | ||
|
Не понимаю, почему такие вещи с таким трудом усваиваются, но еще раз: Оптимизации и трансформации кода, основанные на UB, выполняются компилятором на стадии компиляции, на основе правил, описанных в стандарте языка. И эти правила - одинаковые для всех без исключения. Не важно, выросли ли какие-то нюансы этих правил из какой-то "экзотической" машины или нет, но применять эти правила компиляторы С будут везде - на всех машинах. Так что то, что стоит у вас на столе, не имеет никакого значения. Компилятор С все равно будет видеть UB в доступе к неинициализированной переменной по тем правилам, которые я привел.
0
|
||
| 15.04.2026, 03:01 | ||
|
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 15.04.2026, 03:09 | ||
|
И дело там не в рантайме, а в том, что в компайлтайме компилятор принял меры для того, чтобы код с UB был удален из программы. Или вы это и имели в виду: мол, проблем не будет, ибо компилятор все равно выкинет такой код?
1
|
||
| 15.04.2026, 03:26 | ||
Конечно если я начну с ним что-то делать - может быть все что угодно. Думаю это всем понятно и обсуждения не заслуживает
0
|
||
|
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
|
||||||
| 15.04.2026, 03:30 | ||||||
0
|
||||||
|
Заблокирован
|
||
| 15.04.2026, 03:32 | ||
a поста #49 что то делается?Просто прочитали. И вполне себе так программа рухнула : https://godbolt.org/z/b4GbvT7EP
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 15.04.2026, 03:56 | ||
main обрывается на полуслове (нигде нет ret). Выполнение просто напарывается на мусор в последовательности машинных команд и все падает.Причем в сгенерированном коде виден только один вывод числа. Откуда в выводе на Godbolt берется второе - не ясно. На coliru выводится только одно число, а затем все падает: https://coliru.stacked-crooked... efb45796fb Очевидно Clang буквально применил оптимизацию по UB: код с UB генерировать не нужно, в результате он просто оборвал код посередине.
0
|
||
| 15.04.2026, 04:26 | |
|
У меня никаких чудес нету, "а" заполнено мусором (большое число). Apple clang 14.0
0
|
|
| 15.04.2026, 04:26 | |
|
Ошибка, указывающая на неинициализированные переменные Ошибка: неинициализированные переменные Неинициализированные переменные
Указатели и указатели на указатели, а также типы данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
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. Добавляем их на. . .
|