私は一連の算術専用関数を持っていますが、その呼び出しはコンパイル時ではなく実行時に決定されます。それらすべてへのポインターの配列を作成し、配列インデックスを介してそれらの呼び出しを処理するつもりでした (たとえば、(a>3) が 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;
}