ссылки и указатели в c



Автор Вадим Булах задал вопрос в разделе Другие языки и технологии

Объясните мне указатели и ссылки в С++. Для чего они нужны? и получил лучший ответ

Ответ от Николай Веселуха[гуру]
Ссылка - накладная на товар. Передать накладную в бухгалтерию легче, чем притащить туда для освидетельствования 100500 тонн орехов, указанных в этой накладной, тем более что там их есть не собираются, а только распределят по складам да магазинам для реализации.

Накладная - ссылка.
Бухгалтерия - функция.
Орехи - объект.

При передаче в функцию (метод класса) объекта по значению, создаётся копия этого объекта. Это требует времени и ресурсов памяти. К тому же изменить можно только передаваемую копию, оригинал останется неизменным.
А вот если передать по ссылке или указателю, то функция (метод класса) работают непосредственно с самим объектом.

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

Дойдёшь до конструктора копирования, поймёшь зачем нужны ссылки.
Чтобы объяснить все возможности указателей, 4000 знаков не хватит!

Важно.
К указателям применимы две операции, операция взятия адреса & и разыменование указателя *, обе - унарные. Первая & получает адрес объекта, который указывает на его первый байт в памяти, вторая * позволяет получить значение объекта, которое храниться в памяти по этому адресу.
Ссылки обязательно должны быть проинициализированы при их объявлении, и нельзя переопределить ссылку на другой объект.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Объясните мне указатели и ссылки в С++. Для чего они нужны?

В чем смысл указателя this в С++ ?
Что такое this? Попробую ответить простым языком.

Допустим имеется некий метод в неком
подробнее...
спросили в Списки
Кольцевой список( удаление элемента) Удалить элемент наиболее удаленный от текущего. Когда в списке не 1 элемент
1) Если у тебя нигде не хранится длина списка, то нужно её посчитать:
Пусть Cur - указатель на
подробнее...
спросили в C Sharp
В чем отличие С++ от С, С#, и С#.Net и какое отношение к ним имеет Sharp
С это подмножество С++. То есть изучив С++ вы должны без проблем понимать С.

Грубо
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Danamon Open
C++ VS 2010 CFile читать файл!
CFile F1;
F1. Open( L " text. dat " , CFile : : modeCreate | CFile : : modeReadWrite ) ;
подробнее...

Как удалить yea desktop??? Не могу удалить эту программу и она перегружает мой старенький ноут.
Гугол в помощь. Просто пишешь "Как удалить yea dekstop". Если что вот статья: Утилита для удаления
подробнее...
спросили в Другое Microsoft Research
что такое файл и как его создать
Для обычного пользователя самый простой случай это создание текстового файла.

Открываете
подробнее...
спросили в Интернет
чем отличается статическая от динамической ссылки?
Динамическая - значит, может изменяться, принимая разное значение (определяется скриптом ява или
подробнее...

для чего нужны виртуальные функции в C+/+?
Современные программы могут насчитывать десятки тысяч классов, которые связаны между собой
подробнее...

Зачем нужны динамические переменные в C++ Кто-нибудь объяснит на человеческом?)
Динами́ческая переме́нная — переменная в программе, место в оперативной памяти под которую
подробнее...
спросили в Borland Free Pascal
Раскажите пожалуйсто историю языка програмирования делфи.
(язык программирования)
[править]
Материал из Википедии — свободной энциклопедии
Перейти
подробнее...
спросили в Игры Mutech
Какие ещё программы кроме АртМани используют чтобы взломать игру на деньги?? ? помогите плиз))
Cheat ‘O Matic v.0.99a
Самая простая программа, позволяющая находить и редактировать значения
подробнее...

L.A. NOIRE Вечная синхронизация после запуска игры... ПОМОГИТЕ!!!
У меня семерка и у меня была бесконечная синхронизация так-как при запуске игры мне не предлагали
подробнее...
Ссылка C++ на Википедии
Посмотрите статью на википедии про Ссылка C++
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*