c++ ссылки что это. c++ ссылки и указатели разница. Указатель на ссылку. Для начинающих. Урок #50

preview_player
Показать описание
c++ ссылки что это. c++ ссылки и указатели. Ссылки и указатели разница. Указатель на ссылку. C++ для начинающих. Урок #50

Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =)
или тут

Уроки по программированию
Рекомендации по теме
Комментарии
Автор

чему научил универ, так это тому, что надо всему учиться самому. Спасибовам

андрейдудонский
Автор

Очень понравилось что в конце Вы привели пример где это пригодится, спасибо за урок!)

ВладиславФедун
Автор

Спасибо за урок!
Отдельно хочу похвалить за очень граммотное построение очередности уроков, для новичка как я, с каждым последующим уроком открываются глаза на новые возможности уже знакомых по прошлым урокам действий.

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

amds
Автор

Вы просто мой спаситель! Учусь в универе и на парах по программирования ничерта не понимаю, а вы так просто и на банальных примерах рассказываете, что невольно думаешь как этого можно было не понять, это же так просто! Огромное вам спасибо за ваш труд! Может пронимаете донаты в качестве благодарности?))))

ЕкатеринаКоктыш-нж
Автор

Кажется у автора присутствует неточность про ссылки.
Например если создать указатель на переменную, то у самого указателя и у переменной будут разные адреса.
int a=5;
int *b = &a;

cout << &a // адрес переменной а =
cout << &b // aдрес указателя b на переменную а =

что говорит о том, указатель является переменной, хранящей адрес другой переменной.
Если же создать ссылку на переменную, то оказывается что адрес переменной и адрес ссылки совпадает, что говорит о том, что ссылка, как ни странно, является самой этой переменной хоть и с другим названием. Вот поэтому ее и разыменовывать не нужно.

int a=5;
int &refa = a;

cout << &a // адрес переменной а =
cout << &refa // aдрес ссылки refa на переменную а =

Таким образом компилятор во всех местах, где указана ссылка, просто заменяет ее реальной переменной. Соответственно своего отдельного адреса у ссылки нет. Именно поэтому нет указателя на ссылку, ссылки на ссылку, ссылки на пустое место.

quchrlf
Автор

Мотивирует фраза "получить что-то оттуда, откуда нам нельзя"

igorbologov
Автор

Очень хорошая подача материала, знай, что ты помог Огромному количеству людей!

ДанилПотапов-мы
Автор

Ну кстати, если перед ссылкой при ее выводе, или обращению к ней, поставить амперсант (&), то мы будем работать (выводить) непосредственно с адресом ячейки памяти, а не с данными которые там хранятся. Так же как и в случае с указателем если его не разьеминовывать.

СарматПересветов
Автор

Здравствуйте! Спасибо большое за Ваши видео! Прекрасные видео! У меня к Вам просьба - не могли бы Вы сделать ролик, поясняющий практическое применение указателей и ссылок. Это практическое применение можно представить себе, если внимательно смотреть и слушать Ваши пояснения, но было бы просто замечательно получить эту информацию в одном ролике в разжеванном, так сказать виде. Те. чтобы ролик, возможно повторяя уже изученное, отвечал на вопрос, не 'Что такое ссылки?', а 'Зачем существуют ссылки', практическая роль ссылок, так сказать. Спасибо еще раз!

ivtmp
Автор

Большое спасибо за столь хорошее объяснение! Даже, когда уже давно прошел все это, иногда приходится поднимать какие-то знания, и в этом Ваше видео как всегда помогают

МихаилСкворцов-чк
Автор

* Самые понятные, видео уроки по c++, на всём (RU) youtube *

ДмитрийОсипов-хф
Автор

Адрес ссылки aref и адрес переменной а - одинаковые, на картинке в paint у Вас ошибка. Мне кажется понятней было бы в уроке сравнивать ссылку с ярлыком на переменную (как Вы это делали ранее) или сказать что ссылка - это по сути псевдоним переменной, т.е. та же переменная. А так на мой взгляд получилось немного путано. Но все равно спасибо! Мне нравятся Ваши уроки.

ЖеняМилев
Автор

(6:10) Так заодно надо было и cout << &аref << endl; - тоже показать.

TheWladberlin
Автор

Уроки супер, я в восторге. Только замечание:

В предыдущих уроках было хорошо и понятно рассказано как работать с указателями, но...Но ни слова о том, зачем вообще так делать, зачем работать по указателям, вместо имён переменных

ElChampi
Автор

Очередное открытие сделал для себя
srand((int)pa); // по цифре указателя на память, она же при каждом пуске прогр. разная.
Случайные числа без использования.
#include<ctime>
srand(time(NULL));

UnifiedGod
Автор

То есть автор по ходу не сечет в ссылках, но учит других, браво! У него ссылка и переменная на которую она ссылается имеют разный адрес в памяти. Это гениально!)))

panda
Автор

с фразы "Забавно, не так ли?" меня вынесло. Интонация 10 из 10

f_dark
Автор

Пока разбирал тему указателей... Столько годных каналов нашел на всю эту тему.
Жеесть!
Щас столько ребят которые просто срут в уши и ничему не учат что ппц...

CetoPizdec
Автор

дошел до дружественных функций, забыл в чем отличие указателей от ссылок, пересмотрел урок = профит)) спасибо еще раз!

vladalu
Автор

Спасибо за ролик, классно объяснил!
И не могу не отметить один момент забавный)
Автор: "потому что ссылочные типы существуют во всех популярных языках программирование"
Golang: "Чо?"

etopolen