c++ - 是否可以将函数指针保存在 std::vector 中?

标签 c++ pointers vector std

是否可以将函数指针保存在 std::vector 中?并在迭代器循环中调用每个函数?

引用:http://en.wikipedia.org/wiki/Function_pointer

最佳答案

Is it possible to keep function pointers in an std::vector?

当然可以,只要它们都是同一类型:

void foo()
{
    std::cout << "inside foo\n";
}

void bar()
{
    std::cout << "inside bar\n";
}

void baz()
{
    std::cout << "inside baz\n";
}

std::vector<void(*)()> fps { foo, bar, baz };

And call each function in an iterator loop?

完全没有问题:

for (auto&& fp : fps)
{
    fp();
}

关于c++ - 是否可以将函数指针保存在 std::vector 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26133733/

相关文章:

c++ - 如何为std::vector调整大小以分配默认值

c# - 有没有办法在 C# 中声明一组具有相同访问器的成员?

使用动态分配的数组指针调用函数

C++ 名称解析问题

c - 从单链表中删除条目

c++ - 为什么 (( cout << ptr; cout << "\n"<<++ptr; )) 和 (( cout << ptr << "\n"<<++ptr; )) 给出不同的结果

C++ sizeof Vector是24?

c++ - 在 std :sort() 上使用类

c++ - cin >> num1, num2 有什么问题?

C++ 强随机数生成器 - 必要吗?