Daniro_San
@Daniro_San
Программист

Ссылки на функции?

Вот функция:
void func () ;
Объясните пожалуйста разницу между этим
void ( * const pointFunc ) () = func ;
И этим:
void ( & refFunc ) () = func ;
По последнему варианту ничего не нашел, у Страуструпа тоже нету, и гуглятся только варианты с указателем на функцию.
Про указатели на функции знаю, но ссылки на них это что то новое.
Такой вариант компилится у меня даже с -c++ 98, тогда почему примеров его использования нигде не заметно, удобнее ведь вместо константного указателя.
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
почему примеров его использования нигде не заметно, удобнее ведь вместо константного указателя.

Чем удобнее-то? Ссылку нужно инициализировать в момент создания и нельзя изменить потом. Функцию в C++ нельзя создать или вернуть из функции, зачем ссылка?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
Ссылки по внутреннему устройству это указатели, поэтому их часто можно использовать в таких же целях. Они безопаснее и удобнее, но есть ограничения. Ограничения накладывает компилятор.
int a= 10;
int& b = a; //int *b = &a;
b = 5;      //*b = 5; 

cout << a << endl;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы