《C++ Primer》 3.12
下面是一个几乎所有人刚开始时都会答错的问题,错误在于将typedef 当作宏扩展。
已知下面的typedef
typedef char *cstring;
在以下声明中cstr 的类型是什么
extern const cstring cstr;
第一个回答差不多都是
const char *cstr
即指向const 字符的指针。但是这是不正确的。const 修饰cstr 的类型,cstr 是一个指针。因此这个定义声明了cstr 是一个指向字符的const 指针(见3.5 节关于const 指针类型的讨论)
char *const cstr;