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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 130
#1

Чем ссылка отличается от указателя? - C++

08.06.2013, 22:35. Просмотров 1665. Ответов 7
Метки нет (Все метки)

чем ссылка отличается от указателя?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чем ссылка отличается от указателя? (C++):

Объяснить, что делает операция *& и чем она отличается от простого указателя? - C++
Пожалуйста объясните что делает этот оператор...чем он отличается от простого указателя?

Чем _Get_pointer_type отличается от обычного получения типа указателя - C++
При попытке более детально понять работу стандартных контейнеров в STD столкнулся с немалым количеством головоломок. вот одна из них. ...

Ссылка, Указатель, Область памяти выделенная оператором new для указателя - C++
Подскажите пожалуйста, как сделать ссылку на область памяти выделенную оператором new для указателя читая книгу Джесса Либерти в...

Чем отличается this от *this? - C++
Привет всем ! вот код template<typename Key, typename Value> Dictionary<Key, Value>& Dictionary<Key, Value>::operator =(const...

Чем отличается if от (?:) - C++
Здравствуйте. Почитываю С++, сам программирую в Делфи. Вот немного запутался. В делфи есть условный оператор if, тогда как в С++ есть такой...

Чем C++ отличается от C++ Builder? - C++
Чем C++ отличается от C++ Builder? И если имеется желание писать именно в C++, а не в билдере, то что для этого ещё надо освоить и каким...

7
Croessmah
Эксперт CЭксперт С++
13430 / 7585 / 857
Регистрация: 27.09.2012
Сообщений: 18,677
Записей в блоге: 3
Завершенные тесты: 1
08.06.2013, 22:43 #2
Упрощенным синтаксисом. Ссылка по сути - обертка над указателем.
1
daslex
1271 / 515 / 106
Регистрация: 02.08.2011
Сообщений: 2,720
08.06.2013, 22:59 #3
и меньшей гибкостью, но большей безопасностью еще.
(массив ссылок создать нельзя, указателя на ссылку быть не может и прочим)
немного можно почитать в http://ru.wikipedia.org/wiki/%D0%A1%...D0%B0_(C%2B%2B) (Связь с указателями)
=====================
1
Убежденный
Системный программист
Эксперт С++
15637 / 7147 / 1131
Регистрация: 02.05.2013
Сообщений: 11,586
Записей в блоге: 1
Завершенные тесты: 1
08.06.2013, 22:59 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ссылка есть только в C++.
Указатель есть и в C++, и в C.

Ссылка не может быть неинициализирована или указывать на "пустое" значение.
Указатель может.

В отличие от указателя, ссылка всегда константна и не может быть переопределена.

Ссылка допускает только один уровень косвенности: нельзя иметь ссылку на ссылку.
Указатель может указывать на указатель. Который указывает на указатель. И т.д.

Ссылка может указывать на указатель.
Указатель на ссылку указывать не может.

const-ссылка может продлевать время жизни временного объекта, на который она указывает.
У указателя такая особенность отсутствует.

Нельзя иметь массив ссылок.
Массив указателей - можно.

Возможно, есть и другие отличия...
6
Expocooky
56 / 56 / 2
Регистрация: 06.06.2013
Сообщений: 112
09.06.2013, 12:05 #5
Ссылка - синоним
Указатель - адрес
1
Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 130
09.06.2013, 12:12  [ТС] #6
daslex, я где то читала,что ссылка более безопасна,но не поняла почему?
0
Croessmah
Эксперт CЭксперт С++
13430 / 7585 / 857
Регистрация: 27.09.2012
Сообщений: 18,677
Записей в блоге: 3
Завершенные тесты: 1
09.06.2013, 12:18 #7
Цитата Сообщение от Mar-12 Посмотреть сообщение
но не поняла почему?
Хотя бы потому что ссылка не может ни на что не "указывать", её нельзя изменить, а следовательно случайно "перенаправить". Однако ссылка также может "указывать" на невалидный объект("висячая ссылка"), тут уж так сказать нужно самому следить и не допускать этого
1
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.06.2013, 13:44 #8
В принципе, обобщив, можно сказать так: ссылка - это константный указатель, автоматически разыменуемый компилятором.
Ссылка всегда "находится" рядом со своим объектом и никуда от него не уходит))
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2013, 13:44
Привет! Вот еще темы с ответами:

Чем new отличается от malloc? - C++
Чем new отличается от malloc?

Чем отличается ln , lg, и log ? - C++
и как реализуются эти функцию в c++

Чем отличается С++ от Visual С++? - C++
Здравствуете товарищи программисты! Только начал изучать язык программирования С++ и возникло пару вопросов. Чем отличается С++ от Visual...

Чем отличается fopen от ifstream? - C++
сабж...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
09.06.2013, 13:44
Ответ Создать тему
Опции темы

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