我正在阅读Bjarne Stroustrup的C ++编程语言。它在某处使用using关键字来生成函数指针数据类型P1和P2,如下所示:
using P1 = int(∗)(int∗);
using P2 = void(∗)(void);
但是它使用using关键字来创建另一个函数指针数据类型:
using CFT = int(const void∗, const void∗); -(1)
然后它使用CFT来声明一个函数指针并在一些ssort函数中传递它:
void ssort(void∗ base, siz e_t n, size_t sz, CFT cmp);
我的问题是它是否正在使用"使用"来制作函数指针数据类型。然后不应该 - (1)是:
using CFT=int(*)(const void*, const void*);
而不是它实际上是什么?
答案 0 :(得分:5)
在C和C ++中,false
在这里是可选的。
是的,这很令人困惑。关于函数指针类型,这是一个奇怪的事情。
如果作者坚持使用两种可能的语法中的一个,那会更好。