重用用户定义的函数指针类型来声明函数

时间:2018-11-28 17:44:19

标签: c++ function-pointers c++17

我正在尝试找到一种方法,通过重新使用先前声明的函数指针类型来声明函数,因为这将使我避免代码重复(在必须声明许多具有相同签名的函数时非常有用) )。换句话说,我想做这样的事情:

//Declare re-usable function pointer type
using TFunctionAddr = int(*)(int arg0);
//And now, instead of duplicating a function signature like so:
int FunctionUgly(int arg0)
{
  return arg0 + 1;
}
//I would like to use TFunctionAddr to somehow declare a new function
//without reiterating its return type and formal argument list
SomeMagicSyntaxHere(TFunctionAddr, FunctionNeat)
{
  return arg0 + 1;
}
//Here "SomeMagicSyntax()" is a pseudo-code, not an actual language construct

问题:在C / C ++中是否有可能,如果可以,那“魔术语法”应该是什么?

请注意,在此代码段中,我还没有使用函数指针来调用任何东西,这在代码的后面会发生,并且与手头的问题无关。

我愿意接受需要任何级别的C ++标准支持的建议,包括C ++ 17和标准库头工具,但是显然,更裸露的解决方案将是更可取的。

0 个答案:

没有答案