Итак, я просто работал с указателями функций, и я помнил, что вы могли бы это сделать:
void Foo()
{
}
int main()
{
void(& func)() = Foo;
func(); //::Foo();
}
Очевидным преимуществом является то, что ссылки ссылаются на действительные объекты (если они не используются) или функционируют в этом случае.
Очевидными недостатками являются то, что вы не можете хранить массив ссылок и не можете использовать их для указателей функций-членов (по крайней мере, насколько я могу судить).
Мой вопрос: кто-нибудь их использует (т.е. ссылки на функции, а не указатели на функции), и если да, то в каких сценариях вы нашли их полезными/полезными?
Единственное место, где я могу видеть, что они полезны с летучей мыши, - это привязка ссылки на определенную функцию при работе с условной компиляцией.