typedef

《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;
posted @ 2005-02-24 12:29  野猫阿罗哈  阅读(100)  评论(0编辑  收藏  举报