难以理解c ++中的函数指针

Difficulty in understanding function-pointers in c++

我正在阅读 Bjarne Stroustrup 的 The C++ Programming Language。它在某处使用 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);

我的问题是,如果它正在使用 "using" 创建函数指针数据类型,那么第 (1) 行不应该是:

using CFT=int(*)(const void*, const void*); 

而不是实际情况?

在 C 和 C++ 中,(*) 在这里是可选的。

是的,这令人困惑。关于函数指针类型,这很奇怪。

如果作者坚持使用两种可能语法中的一种,那就更好了。