class some_value;
typename int (some_value::*some_value_mfp)(int);
template<some_value_mfp func>
int call(some_value &value ,int op){return (value.*func)(op);}
class some_value
{
int value;
public:
some_value(int _value):value(_value){}
int add_by(int op ){return value+=op;}
int sub_by(int op ){return value-=op;}
int mul_by(int op ){return value*=op;}
~some_value();
/* data */
};
int main(int argc, char const *argv[])
{
some_value v0(0);
cout<<call<&some_value::add_by>(v0,1)<<endl;
cout<<call<&some_value::sub_by>(v0,2)<<endl;
cout<<call<&some_value::mul_by>(v0,3)<<endl;
return 0;
}
本文详细介绍了如何利用C++的模板函数和类成员调用来实现高效的函数调用,通过实例展示了如何优化代码性能,提高程序运行效率。
566

被折叠的 条评论
为什么被折叠?



