Ссылки vs указатели - в чем разница?21.11.2015, 20:04. Показов 17255. Ответов 150
Метки нет (Все метки)
Навеяно соседней темой. Не понимаю в чем разница, хотя несколько раз честно пробовал почитать на эту тему, правда без должного внимания и усердия. Зато программировал на ассемблере и чистом С, понимаю абстракцию "адрес ячейки памяти" и "размер типа в байтах", с арифметикой указателей и указателями на указатели сложностей вроде не испытываю
Есть переменная, если она не регистровая - то лежит в какой-то ячейке памяти (или нескольких, зависит от разрядности памяти и структуры типа переменной), адрес этой ячейки (ака указатель) я могу запоминать в другую переменную типа указателя, передавать/возвращать ее из функций, инкрементировать/декрементировать для движения по массиву переменных (если я его предварительно нарезал в той области памяти конечно), разыменовывать и получать/изменять значение. Вроде все. При чем тут термин "ссылки"? А еще оказывается бывают смартпоинтеры, умные указатели и прочие страшные слова
0
|
|
| 21.11.2015, 20:04 | |
|
Ответы с готовыми решениями:
150
в чем разница? массивы и указатели строк |
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||||
| 25.11.2015, 18:56 | |||||||||
0
|
|||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 25.11.2015, 19:05 | |
|
zer0mail, а еще было б интересно взглянуть на одинаковый ассемблерный код, если заменить одну-единственную строчку int A[2]; на int A[3]; в main
0
|
|
|
Комп_Оратор)
|
|||||||||||||||||
| 25.11.2015, 19:41 | |||||||||||||||||
А запись:
0
|
|||||||||||||||||
| 25.11.2015, 20:43 | ||
|
то ассеблерный код при вызове функций абсолютно одинаковый во всех трех случаях. Переданный в стеке параметр - просто адрес начала массива.
0
|
||
|
Комп_Оратор)
|
||
| 25.11.2015, 20:54 | ||
0
|
||
|
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
|
|
| 25.11.2015, 21:50 | |
|
если читать первоисточник - нету там никаких ссылок как ссылок - есть оператор взятия адреса и оператор обратный ему.
Ссылка - это бредятина переводчиков, которые суют в уши неокрепшего организма "какую то дичь", отчего у организма нестыковки в мозге случаются.
0
|
|
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 25.11.2015, 21:53 | |
|
0
|
|
|
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
|
|
| 25.11.2015, 22:10 | |
|
да(3символа
)
0
|
|
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 25.11.2015, 22:12 | |
|
fmtuner, аргументируйте(о каком первоисточнике речь).
2
|
|
|
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
|
|
| 25.11.2015, 22:19 | |
|
http://www.cplusplus.com/doc/tutorial/pointers/
я тут читаю
0
|
|
|
Комп_Оратор)
|
|||||||
| 25.11.2015, 22:31 | |||||||
|
Евгений хорошо показал, что например, для встроенных типов, регистровая переменная быстрее чем адрес на неё. Копия переданная через стек вряд ли быстрее. А как быть с массивами, большущими структурами/классами? Понятно, что их легче по адресу передавать. Но интересно что с ними происходит когда какой-то алгоритм проходит по контейнеру. Если в контейнере значения, то объекты создаются, уничтожаются... Особенно плохо если часть объектов уничтожается. Тогда если в контейнере указатели (обычные), потеряется память. Вот написал жуть. Там всё начинается с массива поэтому никуда не денется. И кроме того элементы не удаляются так как только сортировка используется. Вначале забавно наблюдать как это всё конструируется, копируется. Выигрыш во времени от работы с указателями всего в 10 раз. Это наверное потому, что копирование в памяти делается блоками, а сортировка тоже хитро реализована). Кликните здесь для просмотра всего текста
0
|
|||||||
|
|
||
| 25.11.2015, 22:36 | ||
|
Не по теме:
Добавлено через 50 секунд
0
|
||
|
|
||
| 26.11.2015, 09:13 | ||
|
3
|
||
|
Комп_Оратор)
|
|||
| 26.11.2015, 10:59 | |||
|
Вон _Ivana, вопросов назадавал и где-то в глубине шекспирово "так прямо или косвенно... и как?" ![]()
0
|
|||
|
|
||
| 26.11.2015, 11:25 | ||
|
0
|
||
|
Модератор
|
||
| 26.11.2015, 12:23 | ||
|
0
|
||
| 26.11.2015, 12:23 | |
|
Указатели и ссылки [С++]
Ссылки и указатели Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|