Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > & vs *


Автор: chipset 22.1.2006, 08:01
 Значение ссылки нельзя [легально] менять . С ссылкой можно менять лишь внутренности объекта, на который ссылается ссылка.
Ссылка не может быть [легально] нулевой. 
Ссылка должна быть проинициализирована(надо явно указать куда ссылаться). Указатель может быть проинициализирован, а может и не быть.

Указатели следует использовать, если  
1) в качестве объекта можно использовать NULL(пример - связный список, поле next может быть NULL'ем, что означает конец списка),
2) есть необходимость сослаться на другой объект через тот же указатель (пример - опять связный список, поле next следует делать указателем, так как для вставки нового элемента надо изменить указатель next)
3)по каким-то причинам нельзя сразу узнать на что ссылаться.
4)объект следует удалить вызовом delete (delete &something; чаще всего сработает, но выглядит это омерзительно)


 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)