|
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
|
|
Указатели в с++ указывают только на адрес?25.08.2015, 23:39. Показов 13862. Ответов 213
Метки нет (Все метки)
Например указатель int *p; Он может инициализироваться только адресом?(и ничем другим) например *p=&s
0
|
|
| 25.08.2015, 23:39 | |
|
Ответы с готовыми решениями:
213
Указатели, адрес переменной Указатели и ссылки. Как сохранить адрес? |
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||
| 28.08.2015, 18:23 | |||||
|
Кстати, есть вот и такое мнение в интернетах:
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||
| 28.08.2015, 18:38 | |||||||||
потому что уже борьба с последствиями UB. well-formed программа не зависит от оптимизаций. либо мой английский, либо последнее предложение противоречит первому.
0
|
|||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 28.08.2015, 19:07 | ||
|
но не принципиально. все равно это UB. об этом говорит стандарт. об этом говорят баги оптимизации.
0
|
||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 28.08.2015, 20:36 | ||
|
И допустим архитектуру, где доступно все адресное пространство и исполняемый файл может быть загружен в любое место. Что делать с null, чтобы он соответствовал стандарту?
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 28.08.2015, 20:38 | |||
|
который преобразует null в какую нибудь каку, которую вы сможете увидеть в ассм-выхлопе, который монопенисуален правилам языка. потому что согласно правилам - nullptr и в африке nullptr.
0
|
|||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|
| 28.08.2015, 20:39 | |
|
hoggy, это не ответ на вопрос.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 28.08.2015, 22:02 | |||
|
любое адрессное пространство можно воспринимать, как виртуальное. как неккую абстракцию вот только на это можно забить и не париться. не нужно знать, что там под капотом, что бы пользоваться. null - не ваша трудность. это - геммор компилятора. который гребет этот гемморой. допустим, вы создаете объект, который компилятор решил расположить по "физически нулевому адресу". вас это в любом случае не касается. ваше дело - поиметь объект, или его адрес. если на какой нибудь микроволноффке вам потребуется самостоятельно решать, где лоццировать объекты и приспичит прифигачить его на "нулевой физический", значит там будет сишечка со своим блэкджеком, которая такое умеет, и заточенна именно под эту платформу.
0
|
|||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 28.08.2015, 22:13 | ||
|
0
|
||
|
99 / 46 / 18
Регистрация: 09.08.2015
Сообщений: 367
|
||
| 29.08.2015, 00:02 | ||
|
а) Там объект по адресу 0. б) Там ничего. Ну или свой вариант. castaway, уж точно не буду слушать советы от человека у которого из аргументов только "одна я тут красивая и с бантиком".
1
|
||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|
| 29.08.2015, 00:05 | |
|
0
|
|
|
99 / 46 / 18
Регистрация: 09.08.2015
Сообщений: 367
|
||
| 29.08.2015, 00:45 | ||
|
Вообще кто-то хоть раз видел чтобы английское слово null обозначало число? Число нуль это zero, а null это смысл этого нуля т.е. ничего.
0
|
||
|
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
|
|
| 29.08.2015, 01:13 [ТС] | |
|
Лучше скажите как указателю например "*p" присвоить некоторое количество памяти.
0
|
|
|
99 / 46 / 18
Регистрация: 09.08.2015
Сообщений: 367
|
|
| 29.08.2015, 02:34 | |
|
Пришла в голову идея, может меня так поймут:
Представим что стрелка часов это указатель, числа на часах это адреса. Если вы хотите сказать что стрелка указывает на нулевой адрес (сейчас нуль часов) то по английски это будет zero hour. Если же вы говорите null hour то имеется ввиду никакой час (стрелка никуда не указывает, либо указывает куда то не туда, это детали реализации, главное что никакой полезной информации там нет). итал. nulla «ничто», от лат. nullus «никакой, ни один; несуществующий; пустой».
0
|
|
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 29.08.2015, 12:11 | ||
|
AncientPenguin, интересная теория, но, увы, не верная. В указателе не может содержаться ничего кроме числа (адреса). На практике во всех компиляторах null - это 0. Других значений я не видел. Так исторически сложилось и современные ОС (хотя и не все) специально запрещают обращение к нулевой странице (компилятор тут вообще не при делах). А вот если отойти от прикладного программирования, то тут все интереснее. Собственно обсуждалось уже выше, да и пример был. У тебя нету опыта низкоуровневых разработок, отсюда и ошибочные предположения про "пустоту" и прочий бред.
Добавлено через 4 минуты Добавлено через 12 минут Единственное, что я усвоил из этой темы, что строго по стандарту "null pointer value" не обязательно именно 0 (а может быть любое другое число). Отдельное спасибо Tulosba за адекватные комментарии.
0
|
||
|
99 / 46 / 18
Регистрация: 09.08.2015
Сообщений: 367
|
|||||||
| 29.08.2015, 12:59 | |||||||
|
shmkv, если размышлять так то никаких указателей и адресов вообще нет, только электрические сигналы (условно 0 и 1), однако последовательность в 8 таких сигналов считают числом и работают с ним как с числом, но на уровне реальности это электрический сигнал. Потом число в переменной-указателе принимают за адрес.
Сделай еще один шаг наверх от ассемблера к С++, NULL на уровне ассемблера просто еще один адрес, но на уровне С++ это маркер обозначающий ничего. Может хоть так донесу мысль:
Я пытаюсь объяснить что это число обозначает ничего, а не то что в самой переменной вакуум. С точки зрения программирования в первую очередь главное смысловая нагрузка, а не то что там в реальности. На этом принципе весь С++ построен (и ассемблер тоже).
2
|
|||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|||||||
| 29.08.2015, 13:40 | |||||||
|
Добавлено через 5 минут
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 29.08.2015, 14:21 | ||
|
Дополнительно советую прочитать про это в стандарте (там довольно много интересного) лично. Не стоит бояться заглядывать в этот важный документ (2.13.7, 4.10, 5.2.10 и т.д.)
0
|
||
|
99 / 46 / 18
Регистрация: 09.08.2015
Сообщений: 367
|
||||||
| 29.08.2015, 15:43 | ||||||
|
shmkv, ты мне так и не ответил что в переменной, от этого ответа зависит вся дальнейшая дискуссия.
И кстати почему невалидный указатель назван пустота? Null это не английское слово обозначающее нуль, это термин на латыни который и переводится и обозначает ничего.
0
|
||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|||
| 29.08.2015, 15:46 | |||
|
Добавлено через 42 секунды
0
|
|||
| 29.08.2015, 15:46 | |
|
Вычислить адрес верхушки стека, адрес следующей команды, адрес переменной, адрес которой содержится в BX Указатели - почему pNext работает как ссылка на следующий адрес? Массивы и Указатели: распечатать таблицу,содержащую имя переменной,ее значение и адрес хочу только адрес страници Частный адрес, динамический адрес, статический адрес - какой у меня? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности 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
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|