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

Сылки и указатели! - C++

Восстановить пароль Регистрация
 
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
20.08.2012, 17:15     Сылки и указатели! #1
В чём отличие применения ссылок и указателей? если можно краткий пример показывающий ихнее отличие!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2012, 17:15     Сылки и указатели!
Посмотрите здесь:

C++ Указатели
Указатели C++
указатели C++
Указатели. C++
Указатели C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
20.08.2012, 17:22     Сылки и указатели! #2
Указатель можно заставить указывать на что-то другое, ссылку нет. Можно получить ссылку на временную переменную, но указатель на неё не получить. Указатель может указывать в никуда, ссылка нет. Всё.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
20.08.2012, 17:30     Сылки и указатели! #3
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Можно получить ссылку на временную переменную, но указатель на неё не получить.
Вот с этим утверждением я бы не согласился. Обосновать сможешь? (Лучше всего - привести код.) Может, я просто чего-то не понял?
Все же остальное - возражений не вызывает.
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
20.08.2012, 17:30  [ТС]     Сылки и указатели! #4
а какое преимущество даёт указатель? почему нельзя действие выполнять с самой переменой, а не с указателем(ведь все что происходит с указателем происходит и с переменной)?
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
20.08.2012, 17:39     Сылки и указатели! #5
Указатель можно заставить указывать на что-то другое, ссылку нет.
Это как? Ссылку нельзя переприсвоить?
Можно получить ссылку на временную переменную, но указатель на неё не получить.
Типа такого?
C++
1
2
3
int cc() { return 1; }
//...
const int& pC = cc();
Только если это const-ссылка.

Вот с этим утверждением я бы не согласился. Обосновать сможешь? (Лучше всего - привести код.) Может, я просто чего-то не понял?
Все же остальное - возражений не вызывает.
C++
1
2
int cc() { return 1; }
int* pC = &cc(); // Ошибка компиляции, унарный оператор & требует l-value, а возвращаемое из функции значение это rvalue.
а какое преимущество даёт указатель? почему нельзя действие выполнять с самой переменой, а не с указателем(ведь все что происходит с указателем происходит и с переменной)?
Указатель имеет фиксированный размер, зависящий от разрядности системы. Следовательно, его может быть проще передать, чем сам объект.
Если ты передаешь объект не по указателю, а по значению, происходит его копирование, таким образом изменения скопированного объекта не будут отслеживаться в исходном.
Yandex
Объявления
20.08.2012, 17:39     Сылки и указатели!
Ответ Создать тему
Опции темы

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