Автор Артём Юзбашев задал вопрос в разделе Другие языки и технологии
C++ указатель на ссылку, ссылка на указатель что можно создать и пример кода если нетрудно. и получил лучший ответ
Ответ от ?????? Зелёный змий ??????[гуру]
int a;
int *p = &a; // указатель
int &r = a; // ссылка на a
int *& rp = p; // ссылка на указатель p
int &t = *p; // А это бред, потому что ссылка может быть на переменную, *p (оператор разыменования указателя) дает значение переменной, а вовсе не переменную. Поэтому компилятор матерится.
а в первом варианте
int u=1;
int &t=u;
int *p=&t;
У тебя не указатель на ссылку, а указатель на переменную u, которую дает ссылка.
Ответ от Голый Мужик[гуру]
HANDLE, int &t = *p; // А это бред, потому что ссылка может быть на переменную, *p (оператор разыменования указателя) дает значение переменной, а вовсе не переменную. Поэтому компилятор матерится
- неверно. Всё канает.
Оператор разыменования возвращает ссылку, а не значение. Если бы возвращалось значение, то любое косвенное обращение к членам сложного типа вызывало бы копирование экземпляра, а полиморфизм можно было бы выкидывать в топку.
Указатель на ссылку создать нельзя, ибо ссылка - вообще не объект, с точки зрения языка у неё нет собственного значения. Ссылка на указатель - int *& rp = n;
HANDLE, int &t = *p; // А это бред, потому что ссылка может быть на переменную, *p (оператор разыменования указателя) дает значение переменной, а вовсе не переменную. Поэтому компилятор матерится
- неверно. Всё канает.
Оператор разыменования возвращает ссылку, а не значение. Если бы возвращалось значение, то любое косвенное обращение к членам сложного типа вызывало бы копирование экземпляра, а полиморфизм можно было бы выкидывать в топку.
Указатель на ссылку создать нельзя, ибо ссылка - вообще не объект, с точки зрения языка у неё нет собственного значения. Ссылка на указатель - int *& rp = n;
Ответ от BlackGhost _[гуру]
& - ссылка, говоря проще, это можно перевести, как адрес, т. е. выражение &x - это будет адрес переменной х.
* - это указатель, который можно перевести, как "по адресу"
Т. е если указателю *p присвоить значение x, то мы получим указатель на эту ссылку:
int x, *p;
x=10;
p=&x;
*p=*p+1; // после применения такого выражения, переменная x станет 11,тому что мы
// присвоили указателю p значение адреса переменной x и обратились напрямую
// к этому адресу (*p=*p+1), а не к его локальной копии
& - ссылка, говоря проще, это можно перевести, как адрес, т. е. выражение &x - это будет адрес переменной х.
* - это указатель, который можно перевести, как "по адресу"
Т. е если указателю *p присвоить значение x, то мы получим указатель на эту ссылку:
int x, *p;
x=10;
p=&x;
*p=*p+1; // после применения такого выражения, переменная x станет 11,тому что мы
// присвоили указателю p значение адреса переменной x и обратились напрямую
// к этому адресу (*p=*p+1), а не к его локальной копии
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: C++ указатель на ссылку, ссылка на указатель что можно создать и пример кода если нетрудно.
Объясните мне указатели и ссылки в С++. Для чего они нужны?
Ссылка - накладная на товар. Передать накладную в бухгалтерию легче, чем притащить туда для
подробнее...
спросили в Vidiot
C++ void - нафига он нужен?
void используется тогда, когда функции не надо возвращать какое либо значение. Допустим ей надо
подробнее...
C++ void - нафига он нужен?
void используется тогда, когда функции не надо возвращать какое либо значение. Допустим ей надо
подробнее...
спросили в Функции Функциями
c++ как передать указатель на двумерный массив в функцию?
Массив передать в качестве параметра нельзя, только указатель на массив. В Вашем случае в сигнатуре
подробнее...
c++ как передать указатель на двумерный массив в функцию?
Массив передать в качестве параметра нельзя, только указатель на массив. В Вашем случае в сигнатуре
подробнее...
спросили в Списки
Кольцевой список( удаление элемента) Удалить элемент наиболее удаленный от текущего. Когда в списке не 1 элемент
1) Если у тебя нигде не хранится длина списка, то нужно её посчитать:
Пусть Cur - указатель на
подробнее...
Кольцевой список( удаление элемента) Удалить элемент наиболее удаленный от текущего. Когда в списке не 1 элемент
1) Если у тебя нигде не хранится длина списка, то нужно её посчитать:
Пусть Cur - указатель на
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
В чем смысл указателя this в С++ ?
Что такое this? Попробую ответить простым языком.
Допустим имеется некий метод в неком
подробнее...
C++ Вопрос по конструктору копии или копирования
Конструктор копирования следует реализовать тогда, когда в классе существует указатель по которому
подробнее...
спросили в C Sharp
В чем отличие С++ от С, С#, и С#.Net и какое отношение к ним имеет Sharp
С это подмножество С++. То есть изучив С++ вы должны без проблем понимать С.
Грубо
подробнее...
В чем отличие С++ от С, С#, и С#.Net и какое отношение к ним имеет Sharp
С это подмножество С++. То есть изучив С++ вы должны без проблем понимать С.
Грубо
подробнее...
спросили в Danamon Open
C++ VS 2010 CFile читать файл!
CFile F1;
F1. Open( L " text. dat " , CFile : : modeCreate | CFile : : modeReadWrite ) ;
подробнее...
C++ VS 2010 CFile читать файл!
CFile F1;
F1. Open( L " text. dat " , CFile : : modeCreate | CFile : : modeReadWrite ) ;
подробнее...
спросили в Другое Microsoft Research
что такое файл и как его создать
Для обычного пользователя самый простой случай это создание текстового файла.
Открываете
подробнее...
что такое файл и как его создать
Для обычного пользователя самый простой случай это создание текстового файла.
Открываете
подробнее...
для чего нужны виртуальные функции в C+/+?
Современные программы могут насчитывать десятки тысяч классов, которые связаны между собой
подробнее...
Зачем нужны динамические переменные в C++ Кто-нибудь объяснит на человеческом?)
Динами́ческая переме́нная — переменная в программе, место в оперативной памяти под которую
подробнее...
спросили в ISDN Stdio h
Вопрос по функции Си strtok. Никак не могу разобраться как она работает...
Добрый вечер!
Постарался рассказать об этой функции максимально кратко и понятно (а
подробнее...
Вопрос по функции Си strtok. Никак не могу разобраться как она работает...
Добрый вечер!
Постарался рассказать об этой функции максимально кратко и понятно (а
подробнее...
спросили в Borland Free Pascal
Раскажите пожалуйсто историю языка програмирования делфи.
(язык программирования)
[править]
Материал из Википедии — свободной энциклопедии
Перейти
подробнее...
Раскажите пожалуйсто историю языка програмирования делфи.
(язык программирования)
[править]
Материал из Википедии — свободной энциклопедии
Перейти
подробнее...