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



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

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

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

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

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

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

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

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

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

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

Имя*

E-mail:*

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