|
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 25
|
|
Как узнать, инициализирован ли указатель?29.06.2011, 18:54. Показов 12944. Ответов 16
Метки нет (Все метки)
0
|
|
| 29.06.2011, 18:54 | |
|
Ответы с готовыми решениями:
16
Как узнать инициализирован ли массив? Как узнать указатель файла QTableWidget как узнать указатель? |
|
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
|
||||||||||||||||
| 29.06.2011, 19:02 | ||||||||||||||||
|
ledkets,
В данном случае выведется "Yes", т.к. переменная указывает на неизвестную область памяти
2
|
||||||||||||||||
|
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
|
||||||
| 29.06.2011, 22:23 | ||||||
|
Мне вобще непонятно, как можно считать NULL указатель не инициализированным, таковым можно считать указатель который был обьявлен и ему не было присвоено никакое значение, а когда вы пишете
0
|
||||||
|
Заблокирован
|
||
| 29.06.2011, 22:26 | ||
|
Что бы проверить, что указатель содержит не мусор (явное значение), нужно либо проверить содержимое указателя в режиме "чтение-только" на предмет какого нить симафора (первый байт должен содержать то-то и то-то. Хотя сие не есть панацея), либо на равенство к нулю (указатель инициализирован, но выключен)
0
|
||
|
|
|||||||
| 29.06.2011, 23:28 | |||||||
|
Далее шли бодяги на предмет сравнения с NULL'ом как эквивалент валидности. Это тоже неверно
Ответ на вопрос поставленный вопрос - "нет". Как только в Си появились указатели, сразу же появилось огромное море проблем, связанных с ними. И с тех пор человечество пытается что-то сделать, но универсальных способов контроля за кривыми указателями до сих пор не придумали.
2
|
|||||||
|
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
|
|
| 26.11.2012, 21:49 | |
|
Действительно никак что ли? Просто если не для себя пишешь и надо узнать выделялась ли для указателя память, чтобы знать нужно ли ее высвободить в функции перед тем, как заново выделить
0
|
|
|
56 / 50 / 11
Регистрация: 10.11.2010
Сообщений: 132
|
||
| 26.11.2012, 21:55 | ||
|
0
|
||
|
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
|
|||||||
| 26.11.2012, 22:04 | |||||||
0
|
|||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 26.11.2012, 22:07 | |
|
Смарт-поинтеры решат если не все, то по крайней мере большинство проблем, связанных с неинициализированностью, обращению к нуллам и обращению к убитым объектам.
> почему то печатает что "указатель инициализирован"! непонятно Потому что delete не изменяет значение указателя, он только вызывает деструктор и освобождает выделенную память.
1
|
|
|
56 / 50 / 11
Регистрация: 10.11.2010
Сообщений: 132
|
||||||||||||
| 26.11.2012, 22:10 | ||||||||||||
|
#define SAFE_DELETE(data) {delete data; data = 0;} тогда вместо
1
|
||||||||||||
|
|
||
| 26.11.2012, 23:00 | ||
|
0
|
||
| 26.11.2012, 23:17 | |
|
Не по теме: А потом становится влом убирать за собой солому, когда знакомишься с чертовски пунктуальной горничной.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 26.11.2012, 23:40 | |
|
Evg, думаю, смартпоинтеры будут понадёжнее самой НЕдурной головы всё же.
0
|
|
|
|
|||
| 27.11.2012, 00:15 | |||
Сообщение было отмечено как решение
РешениеВот лично моё мнение, что работать с умными указателями для начинающих - это не правильно. Начинающему крайне важно получить граблями по лбу, чтобы научиться самому стелить солому, там, где надо. А горничных надо звать только тогда, когда сам научился стелить, и процесс застилания соломы превращается в рутину и потерю времени. А когда с детства приучаешься к тому, что солому стелит горничная, то в итоге вырастают программисты-индусы. Это всего лишь моё мнение, которое основано на многолетнем собственном опыте и опыте работы в команде, в которой есть любители горничных (к сожалению, в реальной жизни от таких никуда не денешься). Я ни в коем случае не отрицаю, что нужно использовать результаты научно-технического прогресса. Но хороший специалист просто обязан знать фундаментальные вещи и понимать, откуда растут фундаментальные проблемы
3
|
|||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 27.11.2012, 00:17 | |
|
Evg, со всем сказанным согласен. Мой комментарий относился к случаю, когда шишки уже набиты, и надо код писать, а не велосипеды изобретать.
0
|
|
|
|
||
| 27.11.2012, 08:58 | ||
|
0
|
||
| 27.11.2012, 08:58 | |
|
Помогаю со студенческими работами здесь
17
Как узнать тип, переданный через указатель на void? Как узнать указатель класса, который передается в библиотеку на C
Как узнать, где кончается массив, если есть указатель на него? Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|