Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ ссылки и указатели

Автор: voipp 16.2.2010, 17:49

Вот код предложенный на сайте по программированию:

int mmm = 10;
void* pUndefPointer = (int *)&mmm;

Насколько я знаю ссылка является 2 именем переменной.Она обладает такими же свойствами как и 1 имя кроме св-ва возникающего при передачи ссылки в функцию.как понять тогда код выше? Может он неправильный?а существует ли способ получения адреса переменной mmm?
И 2 вопрос.
Вот как выглядит оператор ввод для символов:
ostream&  operator<<(char);
Я понял для чего он возвращает ostream.Мне непонятно что значит что он возвращает ССЫЛКУ на ostream и почему именно ее а не просто класс

Автор: Litkevich Yuriy 16.2.2010, 20:30

В первом фрагменте кода ссылки нет, просто у переменной mmm берут адрес, с помощью значка &

Ссылки объявляются следующим образом:

int &mref;
Однако такая запись допустима только при объявлении аргументов функций. В любом другом месте программы ссылка должна быть инициализирована при объявлении, например:
int myvar;
int &mref = myvar;

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)