170 похожих чатов

Итак, хочу убедиться что я правильно понял всё то что

узнал про ссылки:
- Ссылка присваивается один раз как второе имя какой-нибудь переменной и больше не меняется
- Все дальнейшие операции, проводимые со ссылкой, меняют переменную, на которую она указывает
- Ссылка полезна как аргумент функции, если нужно изменить саму переменную, а не её значение
- Хорошо подходит для перегрузки операторов

Есть ещё полезности, которые я пропустил?

17 ответов

29 просмотров

А если ссылка const?

Arthur-Novikov Автор вопроса
Blue Talpa
А если ссылка const?

Тогда инициализируем сразу и пользуемся. Поменять нельзя.

Arthur Novikov
Тогда инициализируем сразу и пользуемся. Поменять ...

А что значит «если нужно изменить саму переменную, а не её значение»?

Arthur-Novikov Автор вопроса
Blue Talpa
А что значит «если нужно изменить саму переменную,...

Значит меняем саму переменную, которую передаём в функцию, а не её копию

Arthur Novikov
Значит меняем саму переменную, которую передаём в ...

А чем изменение самой переменной отличается от изменения её значения? я хлебушек, простите -_-

Вообще можно ещё добавить, что ссылка не хранит информацию о типе, в отличие от указателя. У Владимирова точно было про это

Blue Talpa
Вообще можно ещё добавить, что ссылка не хранит ин...

А что ты подразумеваешь под "хранить информацию о типе"?

Arthur-Novikov Автор вопроса
Blue Talpa
А чем изменение самой переменной отличается от изм...

Есть Элеонора, у которой 25 яблок. Есть функция Add(int x) { x++; } - дать ещё одно. Если вызовем её так: int apples = 25; Add(apples); cout « apples; Увидим что яблок 25; _______________________ Есть Грегори, у которого 25 Элеонор. Есть функция OneMore(int &x) { x++; } Если вызовем её так: int girls = 25; OneMore(girls); cout « girls; Увидим что Грегори облюбил ещё одну; Вся разница в том что в первом случае в функцию передаём значение, во втором - ссылку. Первая функция принимает число 25, а вторая - переменную girls. 25 меняется на 26, но apples не меняется. Во втором случае girls меняется с 25 на 26, так как функция зацепила по ссылке именно эту переменную, а не просто какое-то число. Ты хлебушек, йа холубь

Arthur-Novikov Автор вопроса
Aleksander Spichak
А что ты подразумеваешь под "хранить информацию о ...

Из ссылки не добыть информацию о типе данных, на которые она указывает. Из указателя добыть можно.

Blue Talpa
Вообще можно ещё добавить, что ссылка не хранит ин...

Ничего, что ссылка - это разыменованный константный указатель?

Aleksander Spichak
Не согласен https://en.cppreference.com/w/cpp/type...

Ок, я поищу тогда ту лекцию. Спасибо.

Arthur Novikov
Есть Элеонора, у которой 25 яблок. Есть функция A...

Так меняется-то значение переменной в обоих случаях. Просто в первом, где аргумент по значению приходит, создаётся локальная копия. Но это же тоже переменная, у неё адрес будет. Со своим значением, которое и меняется.

Arthur-Novikov Автор вопроса
Blue Talpa
Так меняется-то значение переменной в обоих случая...

Да, дублируется локалка, выделяется дополнительная память под неё, а оригинал простаивает

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта