什么是函数typedef的使用等价物?

时间:2018-03-12 23:54:10

标签: c++ c++11 using-declaration

如何使用新的 1 using关键字来声明函数类型?

我知道如何使用它来声明函数指针类型。例如,以下typedef:

typedef int (*int_to_int)(int);

似乎等同于以下使用声明:

using int_to_int = int (*)(int);

如何对以下非指针typedef执行相同的操作:

typedef int (int_to_intf)(int);

我的"删除typedef名称并将其放在using"之后算法不起作用:

using int_to_intf_u = int ()(int);  // nope, doesn't compile

A goldbolt link

1 至少对于像我这样仍然定义" new" as"在C ++ 11"。

中引入

1 个答案:

答案 0 :(得分:5)

它只是int(int)。要获取抽象声明符,只需从实际声明中删除变量名称即可。您将声明int f(int);,因此抽象声明符应为int(int)