Имя пользователя:
Пароль:
 

Показать сообщение отдельно

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


DillerInc
Вообще-то, в языке C++ ссылки и указатели это разные понятия. Если по простому, то ссылка это указатель, который всегда на что-то указывает, значение которого нельзя изменить (именно указателя, а не того, на что он указывает; т.е значение устанавливается только один раз - при связке ссылки с тем, на что она ссылается), и весь синтаксис работы со ссылками такой же как с обычными переменными, а не указателями.

JJester
Цитата:
int& func(int a)
{
int * temp = new int(5);
return *temp;
}
В данном случае использование ссылки некрасиво и даже вредно (т.к. маскируется, то что память надо будет ещё и освобождать). Здесь лучше использовать указатель.

А про кореектное использование ссылок лучше почитать в какой-нибудь хорошей книге. Например, перегруженный operator= как правило возвращает ссылку. (В результате можно делать трюки вроде while ((token = next_token()) != LAST_TOKEN) do_something(); со своими произвольными классами)

-------
http://ivank.ru


Отправлено: 00:39, 26-02-2007 | #4