我有一组仅算术函数,它们的调用不是在编译时确定的,而是在运行时确定的。我打算创建一个指向所有指针的数组,并通过数组索引处理对它们的调用(例如,如果 (a>3) 调用第三个)。
这些函数将在循环中被大量重复调用,因此必须内联它们以提高性能。
我的问题是,这种通过内联成员函数指针的调用最终会被内联吗?
谢谢!
class foo{
private:
int f(int x){return x;}
int (foo::*pf)(int);
public:
foo(){
pf=&foo::f;
(*this.*pf)(3); //will this call be inlined?
f(3); //this call is surely inlined
}
};
int main(){
foo f;
return 0;
}