在STL算法中,只要用到函数对象的地方(也就是functor),都可以把函数指针作为对象来使用。这种特性不论是在思路上还是在理解functor的工作原理上都是很重要的。Functor提供了一种将函数指针传递到STL算法的途径。与以往不同的是这里函数指针可以是一个类,或者是支持函数调用操作符的任何对象。函数的调用操作符定义如下:
operator () ()
{
};
float cosTheta [32];
float sinTheta [32];
// 假设Theta [] 唯一个数组
std::transform (&Theta[0], Theta.end (), &cosTheta[0], cos);
std::transform (&Theta[0], Theta.end (), &sinTheta[0], sin);
operator () ()
{
};
float cosTheta [32];
float sinTheta [32];
// 假设Theta [] 唯一个数组
std::transform (&Theta[0], Theta.end (), &cosTheta[0], cos);
std::transform (&Theta[0], Theta.end (), &sinTheta[0], sin);