Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
5 / 5 / 6
Регистрация: 17.05.2014
Сообщений: 61

В чем отличие ссылочных переменных от указателей?

06.02.2016, 21:15. Показов 5027. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Вопрос в теме, чем отличаются
C++
1
2
int a=5;
int &p=a;
от
C++
1
2
int a=5;
int *p=&a;
Кроме того, что ссылочная переменная автоматически разыименовывается и различий в доступе к элементам(-> и .)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2016, 21:15
Ответы с готовыми решениями:

В чем отличие указателей и массивов на примере strlen()?
Здравствуйте уважаемые форумчаче. Появился вот такой вопрос. Почему функция strlen работает в таком случае: const int...

В чем отличие локальных и глобальных переменных в C?
В чем отличие локальных и глобальных переменных в C?

В чём отличие разных способов объявления переменных?
в чем отличие int a(2); от int a=2; И как писать правильней

54
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
09.02.2016, 23:43
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от gng Посмотреть сообщение
По теме вопроса - ИМХО, как интерпретировать ссылку - особый вид указателя или псевдоним, расширяющий область видимости - дело личных предпочтений
А определение в стандарте почитать - не судьба? Меня всегда удивляли люди, излагающие под видом знаний свои фантазии, но некоторые хотя бы делают вид, что они это где-то вычитали, а вы решили позволить себе "интерпретировать" стандарт как протестанты библию. Так-то там все строго определено, чего фантазировать-то?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
09.02.2016, 23:57
Цитата Сообщение от Mr.X Посмотреть сообщение
... но некоторые хотя бы делают вид, что они это где-то вычитали ...
Раз уж зашла об этом речь, то уж скажите кто такие - эти некоторые.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
10.02.2016, 00:32
Цитата Сообщение от castaway Посмотреть сообщение
Раз уж зашла об этом речь, то уж скажите кто такие - эти некоторые
Т.е. вы хотите, чтобы я их в специальный синодик записывал? Сильно свежих примеров нет, а давнишние я уже не помню. Но здесь порядочно фантазеров так-то. Книжки читать лень, зато юная фантазия так и фонтанирует...
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.02.2016, 00:40
Цитата Сообщение от Mr.X Посмотреть сообщение
Т.е. вы хотите, чтобы я их в специальный синодик записывал?
Разумеется это было не требование, а шутка. Не будем "парится"...
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
10.02.2016, 11:35
Цитата Сообщение от hoggy Посмотреть сообщение
3.
поскольку ссылка - альтернативное имя объекта,
то все действия над ссылкой - есть действия над объектом,
на который она ссылается.
именно так, и никак иначе,
программист должен её воспринимать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
struct example
{
   example(  int (&src)[256]  ) :arr(src)
   {
      parr= &src;
      std::cout << sizeof *this <<  " - *this\n"
                << sizeof this << " - this\n"
                << sizeof arr << " - arr\n"
                << sizeof parr << " - parr\n";
   }
 
   int (&arr)[256];
   int (*parr)[256];
};
 
 
 
int main()
{
   std::cout << "Hello, world!\n";
 
 
   int a[256]; 
 
   example ex(a);
}
Ой, ссылка увеличила размер объекта также как и указатель. Что делать???
Bash
1
2
3
4
5
Hello, world!
8 - *this
4 - this
1024 - arr
4 - parr
0
10.02.2016, 11:41

Не по теме:

Цитата Сообщение от gng Посмотреть сообщение
Ой, ссылка увеличила размер объекта также как и указатель. Что деклать???
Мне кажется hoggy просто иногда становится скучно и он специально пишет провокационные высказывания, чтобы вывести человека на диалог :)

Кстати твой пример никак не опровергает приведенную цитату.

0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
10.02.2016, 11:53
Цитата Сообщение от Mr.X Посмотреть сообщение
А определение в стандарте почитать - не судьба?
Я понимаю, что ЯП - образование искуственное и определяется стандартом. Тем не менее всегда были и будут различные интерпретации стандарта, (как и интерпретация законов государства :-))) ).
Если кто-то изложит альтернативную модель и её следствия не будут противоречить стандарту - она имеет все оснавания на существование.
0
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
10.02.2016, 12:01
Цитата Сообщение от gng Посмотреть сообщение
Тем не менее всегда были и будут различные интерпретации стандарта, (как и интерпретация законов государства :-))) ).
Если кто-то изложит альтернативную модель и её следствия не будут противоречить стандарту - она имеет все оснавания на существование.
Знаешь что такое секта? Этимология слова происходит от слова "отсечение", т.е. свое толкование прочитанного "отсекает" твое понимание от общепринятого, тем самым создается новая ветвь - "секта".
Если мы будет по-разному толковать Стандарт, то вскоре появятся секты С++

Не по теме:

Адвентисты ненаследуемых конструкторов, свидетели access violation, адепты nullptr :D

6
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
10.02.2016, 13:34
Цитата Сообщение от Mr.X Посмотреть сообщение
позволить себе "интерпретировать" стандарт как протестанты библию.
Если бы истинность толкования Библии опрелялась только отсутствием противоречий с текстом, то ваша аналогия была бы верна.
Цитата Сообщение от Kastaneda Посмотреть сообщение
Если мы будет по-разному толковать Стандарт, то вскоре появятся секты С++
:-)))
0
10.02.2016, 13:37

Не по теме:

позволить себе "интерпретировать" стандарт как протестанты библию.
а, мою мысль уже озвучили, не заметил.

0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
10.02.2016, 15:54
Цитата Сообщение от gng Посмотреть сообщение
Я понимаю, что ЯП - образование искуственное и определяется стандартом. Тем не менее всегда были и будут различные интерпретации стандарта, (как и интерпретация законов государства :-))) ).
Если кто-то изложит альтернативную модель и её следствия не будут противоречить стандарту - она имеет все оснавания на существование.
Ну, как говорил мудрый Оккам, не надо без нужды вводить лишние сущности. Все необходимые понятия и их определения уже есть в стандарте. Если бы люди хотя бы их освоили было бы неплохо.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
10.02.2016, 16:21
Цитата Сообщение от gng Посмотреть сообщение
Ой, ссылка увеличила размер объекта также как и указатель.
Вы опоздали с этим уже
Цитата Сообщение от Croessmah Посмотреть сообщение
Это смотря с какой монописуальной стороны посмотреть
Цитата Сообщение от Croessmah Посмотреть сообщение
это стёб, так что не нужно отвечать на это сообщение. Начнется холивар
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
11.02.2016, 01:12
Цитата Сообщение от gng Посмотреть сообщение
Ой, ссылка увеличила размер объекта также как и указатель. Что делать???
включать голову, и вспоминать на кой болт вообще нужны ссылки.
тогда может станет очевидным,
почему ссылка в общем случае весит меньше, чем оригинал.
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
11.02.2016, 16:35
Цитата Сообщение от hoggy Посмотреть сообщение
тогда может станет очевидным,
почему ссылка в общем случае весит меньше, чем оригинал.
Вы снова ответили своему мысленному оппоненту, утверждающему, что ссылка больше или равновесна оригиналу.
В этой теме таких не было.
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
11.02.2016, 19:18
Цитата Сообщение от gng Посмотреть сообщение
Вы снова ответили своему мысленному оппоненту, утверждающему, что ссылка больше или равновесна оригиналу.
нет, я ответил человеку, который ойкнул, обнаружив,
что ссылка увеличивает размер объекта так же,
как и указатель.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.02.2016, 19:18

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

Передача в методы переменных ссылочных типов
Есть класс: class Sample { int i; public Sample(int x) { i = x; } ...

В чем отличие двумерного массива типа char от массива указателей на char?
В чем отличие двумерного массива типа char и массива указателей на char ?

Отличие инкриментов указателей
Чем отличатеся ++*p от (*p)++ и от *p++ вроде увеличивается значение а не адлрес указателя.....

Отличие приведение типов указателей
Чем отличаются при Base* a_ptr = new Derivered(); следующие строки: A) auto ptr = static_cast&lt;Derived*&gt;( a_ptr ); B) auto ptr =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
55
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru