c++一直以来给我的感觉是严谨,每个定义里面都有很强的逻辑性,仔细想想确实应该这样。
比如c++ primer举例的那样:
typedef char *cstring;
const cstring cstr;
这个cstr是char型的常量指针,而不是乍一看的常量c风格字符串。
但是在函数指针定义中,对它的这个定义格式很不理解,咋会这样定义呢?
正确的:typedef int (*PF)();
而不是我所想的:typedef int (*)() PF; //此定义方式编译器无法通过,出现语法错误的提示,但是函数类型是int (*)(),这个风格更符合typedef的定义方式,且更易理解。 |