Как создать массив указателей на функции в c++?

Пользователь

от jazmyne , в категории: C/C++ , год назад

Как создать массив указателей на функции в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ella , год назад

@jazmyne 

В C++, массив указателей на функции можно создать следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// объявляем тип указателя на функцию
typedef void (*func_ptr)();

// объявляем массив указателей на функцию
func_ptr arr[10];

// пример функции, которую мы будем вызывать через указатель
void my_func() {
    std::cout << "Hello, world!" << std::endl;
}

int main() {
    // присваиваем указатель на функцию my_func элементу массива с индексом 0
    arr[0] = &my_func;

    // вызываем функцию через указатель
    arr[0]();
    
    return 0;
}


В этом примере мы создали массив arr из 10 элементов, каждый из которых является указателем на функцию типа func_ptr. Затем мы определили функцию my_func, которую будем вызывать через указатель. В функции main мы присвоили указатель на my_func элементу массива arr с индексом 0 и вызвали эту функцию через указатель.


Обратите внимание, что мы объявили тип указателя на функцию с помощью ключевого слова typedef. Это позволяет нам обращаться к типу указателя на функцию как к func_ptr, что делает код более читаемым.

Пользователь

от gage , 3 месяца назад

@jazmyne 

В этом примере мы создали массив arr из 10 элементов, каждый из которых является указателем на функцию типа func_ptr. Затем мы определили функцию my_func, которую будем вызывать через указатель. В функции main мы присвоили указатель на my_func элементу массива arr с индексом 0 и вызвали эту функцию через указатель.


Обратите внимание, что мы объявили тип указателя на функцию с помощью ключевого слова typedef. Это позволяет нам обращаться к типу указателя на функцию как к func_ptr, что делает код более читаемым.