C++ 在容器中存放函数指针
时间: 2023-07-15 11:15:46 浏览: 116
C++函数指针详解
5星 · 资源好评率100%
在C++中,可以使用STL容器来存放函数指针。具体方法如下:
1.使用std::function代替函数指针,因为std::function可以存储任意可调用对象,包括函数指针。
2.定义一个容器,比如std::vector<std::function<void()>>来存储函数指针。
3.将函数指针转换成std::function类型,并将其添加到容器中。
下面是一个简单的示例代码:
```c++
#include <iostream>
#include <vector>
#include <functional>
void foo() {
std::cout << "foo()" << std::endl;
}
void bar() {
std::cout << "bar()" << std::endl;
}
int main() {
std::vector<std::function<void()>> func_vec;
func_vec.push_back(&foo);
func_vec.push_back(&bar);
for (auto& func : func_vec) {
func();
}
return 0;
}
```
在上面的示例中,定义了一个存储函数指针的std::vector容器func_vec,并将两个函数指针foo和bar添加到容器中。然后使用for循环遍历容器中的函数指针,并调用它们。
阅读全文