| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > & vs * |
| Автор: chipset 22.1.2006, 08:01 |
| Значение ссылки нельзя [легально] менять . С ссылкой можно менять лишь внутренности объекта, на который ссылается ссылка. Ссылка не может быть [легально] нулевой. Ссылка должна быть проинициализирована(надо явно указать куда ссылаться). Указатель может быть проинициализирован, а может и не быть. Указатели следует использовать, если 1) в качестве объекта можно использовать NULL(пример - связный список, поле next может быть NULL'ем, что означает конец списка), 2) есть необходимость сослаться на другой объект через тот же указатель (пример - опять связный список, поле next следует делать указателем, так как для вставки нового элемента надо изменить указатель next) 3)по каким-то причинам нельзя сразу узнать на что ссылаться. 4)объект следует удалить вызовом delete (delete &something; чаще всего сработает, но выглядит это омерзительно) |