Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
OrmaJever
 Аватар для OrmaJever
9 / 9 / 0
Регистрация: 10.11.2011
Сообщений: 241
#1

Указатель и ссылка - C++

29.04.2012, 11:36. Просмотров 583. Ответов 6
Метки нет (Все метки)

В общем вопрос достаточно простой, в чём разница указателя и сылки?
С одной стороны указатель это отдельный тип, отдельная ячейка в памяти, и при передаче параметра по указателю передается адрес обьекта, но с другой стороны сылка почти тоже самое? Она просто передает адрес обьекта в функцию. Хотелось бы узнать в чём разница (на уровне памяти).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.04.2012, 11:44     Указатель и ссылка #2
Цитата Сообщение от OrmaJever Посмотреть сообщение
в чём разница (на уровне памяти)
на уровне памяти разницы нет
Bers
Заблокирован
29.04.2012, 11:45     Указатель и ссылка #3
нету разницы.

Ссылка - тот же самый указатель, только её нельзя перенаправить на другой объект..
bz_
6 / 6 / 1
Регистрация: 10.04.2012
Сообщений: 31
29.04.2012, 11:48     Указатель и ссылка #4
Ссылка лишь является разыменованным указателем. Но есть ситуации, когда предпотительнее использовать либо то, либо это.
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
29.04.2012, 12:45     Указатель и ссылка #5
Ссылка - тот же указатель, только автоматически разыменовываемый при обращении и связываемый с объектом лишь единожды.
OrmaJever
 Аватар для OrmaJever
9 / 9 / 0
Регистрация: 10.11.2011
Сообщений: 241
29.04.2012, 13:23  [ТС]     Указатель и ссылка #6
3 коментария об одном и том же)))
Я частенько пишу на qt, и вот там некоторые методы возвращают указатель, а некоторые ссылку, наверно есть на то причина?

Добавлено через 4 минуты
Заметил что все методы которые возвращают сылку помечены как константные и возвращают константную сылку, но разве нельзя вернуть константный указатель?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 15:15     Указатель и ссылка
Еще ссылки по теме:

C++ Ссылка на указатель
Сколько памяти занимает указатель? Ссылка? C++
C++ Ссылка на указатель на указатель
C++ Указатель/ссылка в параметре функции
Ссылка(указатель) на вектор C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Bers
Заблокирован
29.04.2012, 15:15     Указатель и ссылка #7
Цитата Сообщение от OrmaJever Посмотреть сообщение
Заметил что все методы которые возвращают сылку помечены как константные и возвращают константную сылку, но разве нельзя вернуть константный указатель?
Присутствует идеологический смысл:

C++
1
2
3
//допускает, что аргументом может быть "ничего"
void foo(void* ptr0, void* ptr1, void* ptr2);
foo(null,null,null); //правомерно
C++
1
2
3
4
//хочет получать на входе только реальные объекты
void foo(CSome& agent0, CSome& agent1, CSome& agent2); 
 
foo(null,null,null); //сделать уже не получится
Работа с ссылками - это всегда работа с реальными объектами.
Работа с указателями - это работа с какими то адресами, но не с объектами. А именно с адресами.
Yandex
Объявления
29.04.2012, 15:15     Указатель и ссылка
Ответ Создать тему
Опции темы

Текущее время: 03:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru