|
-342 / 1 / 0
Регистрация: 27.12.2025
Сообщений: 29
|
|
Неинициализированные указатели14.04.2026, 17:27. Показов 9237. Ответов 130
Метки нет (Все метки)
Подскажите пожалуйста, если использование неинициализированных указателей в С++ сопряжено с рисками неопределённого поведения и случайного доступа к памяти, то для каких целей в языке оставлена возможность объявления неинициализированных указателей?
0
|
|
| 14.04.2026, 17:27 | |
|
Ответы с готовыми решениями:
130
Неинициализированные локальные переменные Неинициализированные переменные Неинициализированные локальные переменные warning C4700 |
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|
| 15.04.2026, 10:12 | |
|
ух ё...
думал тема уже закрыта, ан нет - на четыре страницы наклепали, всю ночь сидели ![]() Везучие - у вас похоже времени свободного дохрена
0
|
|
| 15.04.2026, 11:11 | ||
|
И Вы совершенно напрасно подаете это как "глубокое знание плюсов, нюансов" . К знанию/пониманию языка эти мелкие технические детали отношения не имеют
0
|
||
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 15.04.2026, 11:50 | |
|
Recrut_rf, не всё ж на диване разлагаться, вот, решили с обычным троллем пообщаться
1
|
|
|
Заблокирован
|
|
| 15.04.2026, 12:06 | |
|
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
||
| 15.04.2026, 12:29 | ||
|
0
|
||
|
Заблокирован
|
||
| 15.04.2026, 13:06 | ||
|
Компиляторы которые генерируют код по стандарту - плохие. Проявление UB которое меня устраивает и вмещается в мои хотелки - это отличные компиляторы, все остальные - кривые. ![]() Астанавитесь.
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 15.04.2026, 16:48 | ||
|
Если код производит UB, то в нем по определению ничего не "юзается" и не "печатается". Все эти "юзается(печатается)" - это плод вашего разгулявшегося воображения, фантазии, призванные заполнить непонимание основ языка. Компилятору, разумеется, эти фантазии не известны и не интересны. Так что - да, должен выкидывать. И выкидывает. И, как хорошо видно по прогрессу версий того же Clang, будет выкидывать все больше, больше и больше.
0
|
||
| 15.04.2026, 18:09 | ||
, а я просто руководствуюсь здравым смыслом. Выходит код компилируется, но .. не выполняется, причем без всяких exception(s). То есть поставил тестовую печать, а ее .. нету. Выкинули. Бред собачий. Такой придурковатый компилятор никому не нужен. Более реалистично считать неинициализированное значение нулем или др дефаултом. Это возможно, подобное где-то видел. Но уж никак не "выкидывать"
0
|
||
| 15.04.2026, 18:11 | |
|
Не по теме: они размножаются о_О
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 16.04.2026, 14:10 | |
|
TheCalligrapher,
Прочитал ваш экскурс. А мне почему то враги запрещают читать неинициализированные переменные. Мелкомягкие в натуре враги... Проклятые империалисты...
0
|
|
| 16.04.2026, 16:20 | |||||||
|
Не по теме:
А поднять Предупреждения до Ошибок можно в любом компиляторе. Вероятно в настройках проекта по умолчанию стоит опция SDL checks, которая и бьёт по лапкам. Update: Только это опция для "инвалидов". И никак не помешает отстрелить себе всё что нужно.
0
|
|||||||
|
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,420
|
|
| 16.04.2026, 17:40 | |
|
Вся эта тема бестолковая
Объявить массив как указатель на 1й элемент Выделить память на n элементов Заполнить массив значениями Обработать массив, как надо Когда уже не надо, отдать память обратно Конец Нечего заниматься словоблудием и рукоблудием Пиши простой код, долб*** (KISS)
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 17.04.2026, 00:28 | |
|
Как он может мне запретить.. Хочу читать много переменных.... И что бы неиници.,. Былы... Запутался.
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 17.04.2026, 00:35 | |
|
0
|
|
|
-342 / 1 / 0
Регистрация: 27.12.2025
Сообщений: 29
|
|
| 17.04.2026, 11:00 [ТС] | |
|
Что Данила-мастер не выходит каменный цветочек?
![]() Добавлено через 58 минут Моё видение процессов протекающих при объявлении неинциализированных указателей, ну и переменных до кучи (не претендую на истину в конечной инстанции, пытаюсь разобраться для себя). При компиляции программы с с вышеуказанными объявлениями компилятор (если в нём отключены оптимизирующие режимы) что для указателя, что для переменной рандомно цепляет адрес памяти в куче (объявление внутри функции я не рассматриваю так как там память выделяется на стеке а не в куче, хотя и там ситуация может быть аналогичноя). В рандомно выделенной области памяти что-то уже лежит (или "мусор" или данные используемые какой-то программой или операционной системой, хотя скорее всего оп защищает свои данные так как компилятор по идее запрашивает память именно у оп). При попытке использования неинциализированного указателя или переменной (попытки перезаписи в сопряженные с ними участки памяти новых значений) возникает ситуация пресловутого UB. Если в памяти лежит "мусор", то ничего критического не происходит и всё работает должным образом, а вот если в памяти находятся используемые программами или оп данные, то при их перезаписи может произойти всё что угодно (UB). Так как синтаксис языка позволяет вначале объявить указатель или переменную без инициализации, а присваивать им значения позднее, то это вынуждает компилятор присваивать им адреса в памяти при компиляции (любой объект по определению должен иметь адрес в памяти). Так как подобная ситуация порождает UB разработчики компиляторов пытаются купировать его возникновение. Один из способов выдавать ошибку при компиляции с определенными ключами компиляции, другой принудительно инициировать их нулём (как в приведенном выше примере Наталья8).
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 17.04.2026, 12:38 | |
|
0
|
|
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
|
|
| 17.04.2026, 12:44 | |
|
Наталья8, ты почему C::B не обновляешь? Уже ж давно есть версия 25.03. А ещё лучше, ставь ночную сборку. Например, билд 13831 вышел совсем недавно, 9 апреля. Они там постоянно что-то фиксят. Полтора разраба осталось, но если на них надавить, то профиксят любой баг. Сам я много раз репортил.
0
|
|
| 17.04.2026, 13:56 | |
|
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 17.04.2026, 14:40 | |
|
Royal_X,
Что то тебя видно не было.... Кодеблок? Да не пишу я на нём.. Просто валяеться. Думаешь они на новой версии более стабильным его сделали? Добавлено через 6 минут 4blK4blPblK, Да ну... Таких длинных измышлений, умозаключений (многобукоф), что то я давно не видел.
0
|
|
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 17.04.2026, 14:54 | |
|
Also what, какое странное видение. Даже спустя 4 страницы объяснений
Добавлено через 5 минут Also what, поздравляю с ачивкой. Когда спокойнейший и терпеливейший обитатель форума вкатывает жирный минус - это достижение, я считаю
0
|
|
| 17.04.2026, 14:54 | |
|
Ошибка, указывающая на неинициализированные переменные Ошибка: неинициализированные переменные Неинициализированные переменные
Указатели и указатели на указатели, а также типы данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
начало и оглавление
-
Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|