Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2016, 10:50   #1
Андрей 93
Люблю жизнь
Форумчанин
 
Аватар для Андрей 93
 
Регистрация: 01.12.2009
Сообщений: 193
По умолчанию Ссылки и указатели

Изучив тему об указателях и ссылках в С++, я понял, что это примерно одно и то же, но ссылки обладают чуть меньшим функционалом, например, они не могут переназначаться. Автор книги указывает, что программист-профессионал однозначно предпочтет работу со ссылками, так как это удобнее (более понятный синтаксис).
Однако, мне удобнее работать именно с указателями, так как уже есть опыт работы с ними из delphi. Мне даже больше нравится синтаксис указателей.
Однако, я понимаю, что как новичок в С++, я могу ошибаться. Подскажите, могу ли я всегда пользоваться указателями в своих проектах, не затрагивая ссылки? Какие непреодолимые задачи для указателей под силу ссылкам?
Не стыдно не уметь, стыдно не учиться.
Андрей 93 вне форума Ответить с цитированием
Старый 24.12.2016, 11:00   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Никакие, просто ссылки наверно более безопасные, сложнее допустить некоторые ошибки потому что нельзя присвоить null или присвоить ссылке другой объект после инициализации.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.12.2016, 11:12   #3
Андрей 93
Люблю жизнь
Форумчанин
 
Аватар для Андрей 93
 
Регистрация: 01.12.2009
Сообщений: 193
По умолчанию

Спасибо за ответ. Ещё один вопрос, как перевести данный код на язык С++?
Код:
type
  PBody = ^TBody; //интересует именно это строчка. 
  TBody = record
    m, m_inv: single;
    i, i_inv: single;
    p, v, f, v_bias, rot: cpVect;
    a, w, t, w_bias: single; 
    Next, Prev: PBody;
  end;
Использовать typedef?
Не стыдно не уметь, стыдно не учиться.
Андрей 93 вне форума Ответить с цитированием
Старый 24.12.2016, 11:20   #4
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

На уровне языка ссылка != указатель.

Например, можно передатт ссылку на массив в функцию,
с указателем это будет более страшным зрелищем.

Также можно привязать временный объект к ссылке.

Еще, например, ссылки будут полезны в перегрузке операторов.

Ах, да, не забываем про rvalue-ссылки.

Не забываем, что ссылка инициализируется, и далее не изменяется.
Её инициализация обязательна.
Это спасает от некоторых тривиальных ошибок,
но говорить, что ссылка безопаснее будет неверно.

Обычно ссылка применяется там,
где гарантированно ожидается некий объект.
Там, где объект может отсутствовать
целесообразнее использовать указатель.

Последний раз редактировалось Croessmah; 24.12.2016 в 11:26.
Croessmah вне форума Ответить с цитированием
Старый 24.12.2016, 11:21   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Андрей 93 Посмотреть сообщение
Ещё один вопрос, как перевести данный код на язык С++?
Использовать typedef?
А зачем? Можно просто ничего не использовать.

Обычно так и делают, ибо лезть куда-то чтобы посмотреть что за PBody не очень удобно, особенно учитывая то, что в С++ есть разные виды указателей (обычные указатели, smart pointer'ы, ...) + const
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылки & указатели 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