过去我已经这样做了很多次,但由于某种原因,我现在无法安静地记住它的语法。假设您有以下内容:
typedef float (*FuncPtr)(float x, float y);
并且您想创建一个函数指针类型的向量来获取函数指针(如上面的那个)..
- 您将如何声明向量。
- 你将如何
push_back()
向量化函数。
我过去做过很多次。我只想记住语法。
过去我已经这样做了很多次,但由于某种原因,我现在无法安静地记住它的语法。假设您有以下内容:
typedef float (*FuncPtr)(float x, float y);
并且您想创建一个函数指针类型的向量来获取函数指针(如上面的那个)..
push_back()
向量化函数。我过去做过很多次。我只想记住语法。
不确定您到底面临什么问题,但这是一个将函数添加到类型函数向量的编译示例。http://ideone.com/fC6lrw
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
typedef float (*MathFunction)(float);
float zero(float){return 0;}
int main(){
std::vector<MathFunction> functions;
functions.push_back(std::cos);
functions.push_back(zero);
return 0;
}
如果你有 C++11,你可以用这个代替
std::vector<std::function<float(float, float)>>;
然后您将能够接收带有捕获的 lambdas 以及没有和指向函数的指针的 lambdas。