在C 中声明一系列功能指针
Declaring an array of function pointers in C++
我正在使用.h文件和.cpp文件的项目。我正在编写一个我想利用一系列功能指针的函数,其中数组中的每个函数均基于与枚举有关的条件调用。我已经在.h文件中声明了5个函数和数组本身。我应该在哪个文件中设置等于适当函数(.h或.cpp)的每个值的每个值?
我预测,如果数组定义本身在.h文件中。
您应该定义.c文件中的数组(以及值的设置)。
和.h file neclare 数组作为外部,就像这样:
extern func_pointer_t array[];
,但全球范围内通常是一个坏主意,您应该考虑提供API以将功能指针从数组中获取。
func_pointer_t get(unsigned int i);
一般而言,变量分配发生在" .cpp"文件中。如果需要全球,则将某些内容放在.h文件中。
另外,请注意,数组中只能存在一个功能指针类型。换句话说,所有功能都必须具有相同的签名。
如果将数组更改为持有函数对象或指向函数对象的指针,则可以拥有许多函数对象的品种,这些函数对象来自基本函数对象。
另请参见std::vector
和std::map
。
相关文章:
- 如何定义和设置指向模板类方法的功能指针
- 将状态传递给功能指针
- 如何使用结构内的功能指针调用私有函数
- 功能指针不起作用(C )
- 将C 方法作为功能指针传递
- 优化调用一系列功能指针
- C 功能指针和成员功能指针
- 当直接分配时,为什么此功能指针分配起作用,而不是与有条件的操作员一起使用
- 功能指针的静态初始化
- 功能指针参数参数转换为const
- 使用lambda在功能指针铸造时双免费
- 如何在两个类之间使用功能指针
- exc_bad_access on for loop(数组功能指针)
- 如何通过功能指针调用派生方法
- 虚拟功能指针指向派生类中的函数
- C :铸造成员功能指针
- 指向成员功能的功能指针
- 正确施放以指向返回功能的函数的功能指针
- 当用作模板参数时,功能指针是否需要指向具有外部链接的函数
- 在堆中创建功能指针的数组