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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

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

@nelle 

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>

int func1() {
  return 1;
}

int func2() {
  return 2;
}

int func3() {
  return 3;
}

int main() {
  // Объявление массива указателей на функции
  int (*funcs[3])();
  
  // Инициализация указателей в массиве
  funcs[0] = func1;
  funcs[1] = func2;
  funcs[2] = func3;
  
  // Вызов функций через массив указателей
  for (int i = 0; i < 3; i++) {
    std::cout << (*funcs[i])() << std::endl;
  }
  
  return 0;
}


В этом примере, funcs - это массив указателей на функции, возвращающие int. Указатели на функции можно инициализировать с помощью имен функций, таких как func1, func2, и func3. Вы можете вызывать функции, используя оператор разыменования * и индекс в массиве funcs.