Ссылки vs указатели - в чем разница?21.11.2015, 20:04. Показов 17088. Ответов 150
Метки нет (Все метки)
Навеяно соседней темой. Не понимаю в чем разница, хотя несколько раз честно пробовал почитать на эту тему, правда без должного внимания и усердия. Зато программировал на ассемблере и чистом С, понимаю абстракцию "адрес ячейки памяти" и "размер типа в байтах", с арифметикой указателей и указателями на указатели сложностей вроде не испытываю
Есть переменная, если она не регистровая - то лежит в какой-то ячейке памяти (или нескольких, зависит от разрядности памяти и структуры типа переменной), адрес этой ячейки (ака указатель) я могу запоминать в другую переменную типа указателя, передавать/возвращать ее из функций, инкрементировать/декрементировать для движения по массиву переменных (если я его предварительно нарезал в той области памяти конечно), разыменовывать и получать/изменять значение. Вроде все. При чем тут термин "ссылки"? А еще оказывается бывают смартпоинтеры, умные указатели и прочие страшные слова
0
|
|
| 21.11.2015, 20:04 | |
|
Ответы с готовыми решениями:
150
в чем разница? массивы и указатели строк |
|
Комп_Оратор)
|
|||
| 03.12.2015, 22:45 | |||
|
Как-то всё сводится к тому у кого компилятор толще. ![]() Так я везде и пишу, что не профи программист.
0
|
|||
|
|
|||
| 03.12.2015, 23:05 | |||
|
C++ // тела обеих функций для компилятора не видны extern void foo (const int&); extern void bar (int&); int x, y; void func (void) { int a = 0; foo (a); x = a; bar (a); y = a; }
3
|
|||
| 03.12.2015, 23:16 | |
|
0
|
|
|
Комп_Оратор)
|
||
| 03.12.2015, 23:24 | ||
|
Ну давайте скажем, что не const ни inline не помогают. Я не берусь их сравнивать, - боже упаси. Тема и так ушла в туман. ![]() Добавлено через 4 минуты
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 03.12.2015, 23:29 | |||
|
Однако, как правило, программисты не работают на бесконечном множестве реализаций. У меня вот используются 4 аппаратные платформы и 3 ОС. Также 3 разных компилятора. Их способности к оптимизации на этих платформах известны, поэтому можно делать прогнозы. Не по теме:
Никакого спора, правда :)
0
|
|||
|
|
||
| 03.12.2015, 23:37 | ||
|
const на параметрах-указателях по замыслу разработчиков языка должен был помогать оптимизациям ещё в Си. И на моей памяти я когда-то работал с каким-то компилятором, который это учитывал. Но реальная жизнь оказалась такова, что очень много разработчиков попросту не умеют программировать и с const-указателями работают неправильно. Пока компиляторы были слабые, они далеко в оптимизации не закапывались и эти ошибки никак не проявлялись. Но потом компиляторы стали умнее, а софт остался старый и с ним было много проблем именно из-за старых ошибок. Вполне возможно, что нежелание современных компиляторов учитывать const-указатели в параметрах (проверял на gcc, clang, suncc) обусловлено именно этим. const-ссылка с точки зрения внутреннего устройства компилятора является прямым наследником const-указателей. И если бы компиляторы нормально работали с const-указателями, то всё бы отнаследовалось и в const-ссылках. В этом смысле const на параметрах-указателях и параметрах-ссылках можно сказать, что помогает компилятору Другое дело inline. В реальности он уже давно никому не помогает, компиляторы давно научились сами всё решать. В языках Си, Си99, gnu-Си, Си++ на ключевое слово inline нагружены различные смыслы. И здесь, как мне кажется, у ключевого слова inline была судьба схожая ключевому слову auto. На "inline" нагрузили разные смыслы в разных языках, потому как изначальный смысл (подсказка/просьба компилятору) стал ненужным
1
|
||
|
Комп_Оратор)
|
|||
| 03.12.2015, 23:45 | |||
|
Не по теме:
-помогают; -безразлично; -мешают И кроме всего, то что зависит от реализации разве есть смысл обсуждать в "ссылки и указатели" для новичков? У них и так глаза квадратные. :scratch: :senor: Добавлено через 6 минут
0
|
|||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 03.12.2015, 23:57 | |
|
Думаю, что это будет интересно почитать хоть кому-то))
https://docs.google.com/docume... sp=sharing
2
|
|
|
|
||
| 04.12.2015, 10:33 | ||
|
Добавлено через 4 минуты А... не дочитал. Там так и написано "Examples 1 and 5 are never optimized as desired, while"
0
|
||
| 04.12.2015, 12:22 | |
|
Не по теме: Это эталонного тупняка тред?
0
|
|
| 04.12.2015, 13:29 | |
|
Не по теме: Voivoid, всё базово архисерьёзное есть в книгах. Мы же говорим либо о каких-то нюансах, которые в книгах найти трудновато, либо о том, что найти просто, но под каким-то необычным углом, поскольку традиционный подход может быть кому-то труден и нужна параллельная информация для сравнения .
0
|
|
| 04.12.2015, 13:29 | |
|
Указатели и ссылки [С++]
Ссылки и указатели Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 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
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|