Ссылки vs указатели - в чем разница?21.11.2015, 20:04. Показов 17092. Ответов 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 | |
|
Указатели и ссылки [С++]
Ссылки и указатели Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|