|
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
|
||||||
Почему при присваивании адреса массива не ставится знак '&' получения адреса22.11.2015, 21:01. Показов 7921. Ответов 88
Метки нет (Все метки)
0
|
||||||
| 22.11.2015, 21:01 | |
|
Ответы с готовыми решениями:
88
Операция получения адреса & и vector 1. Ввести символьный массив. Найти адреса всех парных его элементов. 2. Вывести адреса элементов массива 4 на 4, находящ Почему разные адреса одного и того же элемента динамического массива? |
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 23.11.2015, 13:42 | |
|
Это не упрощение. В русском варианте цитаты Дейтелов грубая ошибка.
Имя массива - не является ни указателем, ни ссылкой, ни чем-либо еще. Это вообще не объект какого бы-то ни было типа, это идентификатор типа NoType и стандарт разрешает это "чудо-юдо" приводить к типу константный указатель. Только благодаря неявному приведению, с ним возможно работать как с константным указателем.
0
|
|
|
Модератор
|
|||
| 23.11.2015, 13:58 | |||
|
Блин, про неявное приведение к указателю чё-то никто не пишет. Вот, ещё, например в "Эффективное программирование на C++":
И далее (стр. 212) там же:
0
|
|||
| 23.11.2015, 14:00 | |
|
0
|
|
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
| 23.11.2015, 14:08 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 23.11.2015, 14:20 | ||
|
Именно поэтому, учить язык по Стандарту - занятие не благодарное, но и утверждать, что книги врут тоже нельзя, т.к. с обывательской (прикладного программиста) точки зрения имя массива есть указатель на начальный элемент. А вот когда хочется узнать как (почему) это работает уже есть смысл заглянуть в Стандарт.
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||||||
| 23.11.2015, 15:03 | ||||||||||
|
Посмотрел русский, не ленись посмотреть оригинальный текст в оригинальном учебнике.
Вот я не поленился. Отрыл оригинал Дейтелов (7изд). Красиво там все, красочно так. оригинал текста
Добавлено через 4 минуты А дальше уже пример, что они тесно связаны.
Хотя дальше и говорится...
![]() Добавлено через 11 минут Дейтелы немного подофигели такую ересь писать
1
|
||||||||||
|
Модератор
|
|||||
| 24.11.2015, 06:31 | |||||
|
daslex, я думаю, это общее место в большинстве обучающих книг по С++. Упрощение. Да, они грешат против истины, но так проще объяснить новичку. Они говорят о том, что это указатель, но не упоминают о том, что получается он из неявного преобразования имени массива в указатель на первый элемент. Иначе придётся ещё тут же пояснять, что такое преобразования, чем явные преобразования отличаются от неявных и т.д. А в теме про массивы и указатели новичку и так непросто разобраться.
Добавлено через 10 минут У Страуструпа так:
И далее у него же:
1
|
|||||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 24.11.2015, 08:55 | |
|
Всё, что неявно куда-то приводится является этим куда-то.
Метафорически говоря, типовая метка указателя int* -- базовый тип для типа переменной а, объявленной как int a[5];
0
|
|
| 24.11.2015, 09:00 | |
|
0
|
|
| 24.11.2015, 09:49 | |
|
0
|
|
| 24.11.2015, 09:54 | |
|
Есть ли для программиста разница - является ли имя массива указателем или приводится оно к указателю?
При передаче в качестве параметра это одно и то же. А когда это не одно и то же, есть примеры?
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 24.11.2015, 10:06 | |
|
0
|
|
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 24.11.2015, 10:31 | |
|
Croessmah
Так как в любом выражении, где требуется переменная int*, можно использовать переменную int a[], то очевидно, что массив -- это указатель. Хотя указатель -- это не массив, так как можно написать выражение верное для int a[5], но неверное для int*.
0
|
|
|
Неэпический
|
||
| 24.11.2015, 11:08 | ||
|
Ну и там, где требуется размер указателя, получим размер массива. Например, литерал 0 имеет тип int, но может быть неявно преобразован к указателю, но это не делает из этого литерала указательный тип.
0
|
||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
||
| 24.11.2015, 17:10 | ||
|
0
|
||
|
Неэпический
|
||||||||
| 24.11.2015, 17:16 | ||||||||
0
|
||||||||
| 24.11.2015, 17:16 | |
|
Почему адреса элементов массива находятся в памяти не по порядку Ошибка получения ip-адреса
Почему при редактировании ip-адреса NetworkManager создаёт второе соединение? Получения адреса объекта вызвавшего события Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
28. КОнкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую:
Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
|
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий?
Да, такие данные есть, и они хорошо описаны и в российской,. . .
|
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|