|
5 / 5 / 6
Регистрация: 17.05.2014
Сообщений: 61
|
|||||||||||
В чем отличие ссылочных переменных от указателей?06.02.2016, 21:15. Показов 5034. Ответов 54
Метки нет (Все метки)
Всем привет. Вопрос в теме, чем отличаются
0
|
|||||||||||
| 06.02.2016, 21:15 | |
|
Ответы с готовыми решениями:
54
В чем отличие указателей и массивов на примере strlen()? В чем отличие локальных и глобальных переменных в C? В чём отличие разных способов объявления переменных? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||
| 08.02.2016, 19:40 | ||||||||||||
|
на одном только этом форуме несколько раз обсуждалось. любой желающий мог бы получить информацию. но вы не желаете ничего знать. как они там точно реализуются в конкретном компиляторе. а во-вторых, через указатели компиляторы их реализуют только в каких то частных случаях, и не более того. вы вкурсе, что называя ссылку "указателем с авторазыменовыванием" путаете причину и следствие? подумайте о том, чем является результат разыменовывания указателя.
если когда нибудь в вашу голову закрадутся крамольные мыслишки, что якобы ссылка - это указатель с авторазыменованием, вспомните этот пример, и тогда он может вам не перепутать причину и следствие.
1
|
||||||||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|||
| 08.02.2016, 20:22 | |||
|
0
|
|||
|
Неэпический
|
|||||||
| 08.02.2016, 20:32 | |||||||
![]()
P.S. Mr.X, это стёб, так что не нужно отвечать на это сообщение. Начнется холивар
1
|
|||||||
|
|
|||||||
| 08.02.2016, 20:34 | |||||||
Ссылка может подменятся объектом (еще на уровне семантического анализа), но это уже оптимизация компилятора.
0
|
|||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||
| 08.02.2016, 20:54 | ||||
|
Добавлено через 4 минуты
0
|
||||
| 08.02.2016, 21:00 | |
|
0
|
|
| 08.02.2016, 21:32 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 09.02.2016, 18:40 | ||
|
и этот фактор никак не мешает работе приведенного вами кода.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 09.02.2016, 18:47 | ||
|
все аргументы функции всегда копируются. в теле функций присутствуют копии оригиналов. но поскольку ссылка - псевдоним оригинала, значит все действия над ссылкой - есть действия над оригиналом. значит все что нужно - что бы внутри функции фигурировал оригинальный объект. итого: передача по ссылке не предполагает передачу данных. такая передача - это лишь способ сообщить компилятору, что здесь мы хотим работать с объектом, который существует выше по стеку.
0
|
||
|
|
||
| 09.02.2016, 18:54 | ||
|
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 09.02.2016, 18:59 | ||
|
и случаев, когда он может больше, чем когда не может. к тому же это ортогонально языку. даже на низком уровне языка с++ ссылка не перестает быть ссылкой. уровень компилятора - личные трудности самого компилятора. это никак не влияет на процесс написания исходного кода на языке.
0
|
||
|
|
||
| 09.02.2016, 19:04 | ||
ссылка не является куском памяти "Кусок памяти" уже относит нас на низкий уровень, где С++ перестает существовать, есть только память, регистры, и инструкции.
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 09.02.2016, 19:28 | |||
|
к тому же, ссылка действительно не является куском памяти.
0
|
|||
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||
| 09.02.2016, 22:14 | ||
|
По теме вопроса - ИМХО, как интерпретировать ссылку - особый вид указателя или псевдоним, расширяющий область видимости - дело личных предпочтений, как и всякая интерпретация и актуализация. Наверное, лучше второе, поскольку проще для нетехнарей. Вряд ли можно привести пример, где какая-то из этих интерпретаций даст "сбой".
0
|
||
|
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
|
|
| 09.02.2016, 22:23 | |
|
А можно как- то строго дать определения, в стиле алгебраических учений, указателя и ссылки? Типа алфавит, терм, операция ...
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||||||||
| 09.02.2016, 23:29 | ||||||||||||||||||
|
как следствие - у неё нельзя взять адрес. нельзя взять адрес того, что не существует. 2. поскольку нет объекта, то нет того, что нельзя, или можно было бы изменить. поэтому, у ссылок отсуствуют квалификаторы
где сама попытка наделить ссылку квалификатором молча игнорируется. а потом люди начинают задавать веселые вопросы: (как компилятор мог позволить передать константную ссылку в функцию, которая ожидает не константную ссылку) http://rextester.com/JIHJM15370
поскольку ссылка - альтернативное имя объекта, то все действия над ссылкой - есть действия над объектом, на который она ссылается. именно так, и никак иначе, программист должен её воспринимать. что бы не тупил: http://rextester.com/YRZKE77500
результат разыменовывания указателя - есть ссылка. этого одно достаточно, что бы понимать: сама ссылка при этом уже указателем быть не может. иначе возникает противоречие здравому смыслу. --------------- можно ещё что нибудь придумать. но мне честно говоря уже надоела эта заезженная тема. одно и тоже приходится рассказывать. ссылка - особый тип данных в языке, со своими особенностями и умениями. они подчиняются особым правилам. это - главное, что нужно знать и понимать. путают(отожествляют) жеж с указателями их только те ребята, которые этих правил тупо не знают.
2
|
||||||||||||||||||
| 09.02.2016, 23:29 | |
|
Передача в методы переменных ссылочных типов В чем отличие двумерного массива типа char от массива указателей на char?
Отличие приведение типов указателей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|