|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.12.2016, 10:50 | #1 |
Люблю жизнь
Форумчанин
Регистрация: 01.12.2009
Сообщений: 193
|
Ссылки и указатели
Изучив тему об указателях и ссылках в С++, я понял, что это примерно одно и то же, но ссылки обладают чуть меньшим функционалом, например, они не могут переназначаться. Автор книги указывает, что программист-профессионал однозначно предпочтет работу со ссылками, так как это удобнее (более понятный синтаксис).
Однако, мне удобнее работать именно с указателями, так как уже есть опыт работы с ними из delphi. Мне даже больше нравится синтаксис указателей. Однако, я понимаю, что как новичок в С++, я могу ошибаться. Подскажите, могу ли я всегда пользоваться указателями в своих проектах, не затрагивая ссылки? Какие непреодолимые задачи для указателей под силу ссылкам?
Не стыдно не уметь, стыдно не учиться.
|
24.12.2016, 11:00 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Никакие, просто ссылки наверно более безопасные, сложнее допустить некоторые ошибки потому что нельзя присвоить null или присвоить ссылке другой объект после инициализации.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
24.12.2016, 11:12 | #3 |
Люблю жизнь
Форумчанин
Регистрация: 01.12.2009
Сообщений: 193
|
Спасибо за ответ. Ещё один вопрос, как перевести данный код на язык С++?
Код:
Не стыдно не уметь, стыдно не учиться.
|
24.12.2016, 11:20 | #4 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
На уровне языка ссылка != указатель.
Например, можно передатт ссылку на массив в функцию, с указателем это будет более страшным зрелищем. Также можно привязать временный объект к ссылке. Еще, например, ссылки будут полезны в перегрузке операторов. Ах, да, не забываем про rvalue-ссылки. Не забываем, что ссылка инициализируется, и далее не изменяется. Её инициализация обязательна. Это спасает от некоторых тривиальных ошибок, но говорить, что ссылка безопаснее будет неверно. Обычно ссылка применяется там, где гарантированно ожидается некий объект. Там, где объект может отсутствовать целесообразнее использовать указатель. Последний раз редактировалось Croessmah; 24.12.2016 в 11:26. |
24.12.2016, 11:21 | #5 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
Обычно так и делают, ибо лезть куда-то чтобы посмотреть что за PBody не очень удобно, особенно учитывая то, что в С++ есть разные виды указателей (обычные указатели, smart pointer'ы, ...) + const
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ссылки & указатели | Pavlov_yu | Общие вопросы C/C++ | 5 | 30.04.2014 00:12 |
указатели и ссылки | Trampcher | Visual C++ | 1 | 02.06.2013 21:27 |
указатели и ссылки | syrga | Общие вопросы C/C++ | 10 | 18.01.2012 06:19 |
указатели vs ссылки | Aistn | Общие вопросы C/C++ | 9 | 01.06.2011 23:02 |
ссылки и указатели. | mojohead | Помощь студентам | 13 | 14.01.2011 16:00 |