Вопрос /del

Статус
В этой теме нельзя размещать новые ответы.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
всем привет!
изучая виртуальные функции в ООП, дошёл до указателей на функцию в виде какого-то объекта
испугавшись непонятного решил поэксперементировать и пришёл к
ауе:
#include <iostream>

void shit()
{
    std::cout << "shit";
}

int main()
{
    auto aye = *********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************shit;
    std::cout << typeid(aye).name();
}
основной вопрос:
что такое функция, почему &func, func, *func, **func, ********func будут показывать одни и те же адреса и можно ли считать функции объектами (раз они являются адресами, следовательно функция является указателем на адрес (???))
всем заранее спасибо я иду откисать
 
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
функции и референсы на функции превращаются в указатели на функции, так что при
C:
int fn() {
   return 42;
}

int main() {
   void (&fn_ref)(void) = fn;
}
fn и fn_ref будут указателями на функцию.

ты можешь вызывать (*********fn_ref)(), те нихуя не мешает

also:
fn() и (&fn_ref)() это одно и то же

welcome to c
 
Статус
В этой теме нельзя размещать новые ответы.
Похожие темы
Сверху Снизу