ยง using for cleaner function type typedefs

I've always struggled with remembering the syntax for function type typedefs:
typedef RETTY (*FNTYNAME)(ARGTY1, ARGTY2, ..., ARGTYn);
we can now use using for a far more pleasant syntax:
using FNTYNAME = RETTY(ARGTY1, ARGTY2, ..., ARGTYn);
which is also intuitive. You write down the "type" on the right hand side, and give it a name on the left. This is not strictly the same, since the typedef typedefs FNTYNAME to a function pointer type , while the C++ version typedefs the function type . I prefer the latter at any rate, since I dislike the fact that the usual typedef tends to hide the fact that a function pointer is some pointer-like-thing.