[求助]关于typedef的问题
typedef char *cstring;
在以下声明中cstr 的类型是什么
extern const cstring cstr;
1:
const char *cstr;
2:
char *const cstr;
答案是2,我怎么也想不明白,哪位高手能帮帮我~~~~~~~~~
typedef char *cstring;
在以下声明中cstr 的类型是什么
extern const cstring cstr;
1:
const char *cstr;
2:
char *const cstr;
答案是2,我怎么也想不明白,哪位高手能帮帮我~~~~~~~~~
在全局定义const,该对象默认为此文件的局部对象。要使它能在其他文件中被访问,需要显示声明extern。
不过这里是声明不是定义。
const cstring cstr;
不能简单的把cstring代换为char*
const在这里修饰的是cstring,而cstring是通过typedef定义的一个类型,类型为char*
所以const修饰的是指向char的指针,所以应该是 char *const cstr;
记住就好。
ps:楼上的,有空来耍哦?
在全局定义const,该对象默认为此文件的局部对象。要使它能在其他文件中被访问,需要显示声明extern。
不过这里是声明不是定义。
const cstring cstr;
不能简单的把cstring代换为char*
const在这里修饰的是cstring,而cstring是通过typedef定义的一个类型,类型为char*
所以const修饰的是指向char的指针,所以应该是 char *const cstr;
记住就好。
ps:楼上的,有空来耍哦?
哈哈!明白了!谢谢谢谢,书上的意思也是这样,不过翻译的太次,没看懂,建议版主有空去翻译翻译c++名著,肯定大赚~~~!!!
[此贴子已经被作者于2007-7-25 23:26:00编辑过]