我以前同楼主一样理解不了第一句话,给你个例子就好理解了。
假如我们先不管typedef 就是:string *pstring
这里就是定义了一个string型的指针,那以后用指针是不是只需要使用 pstring。
所以,typedef string *pstring也同理,只是这里不是定义而是起了一个类型别名。
*******************************************************************************
第二句话主要看C++ primer 112页。网上的基本都是抄那里的。
首先要知道,typedef 不是简单的文件扩展,而指针的理解一般都是从右往左的。
const pstring cstr; 换成原始语句时要看成整体:const 指针类型 cstr;
所以,从右往左:定义一个指针 -> 修饰这个指针为const型。
*********************************************************************************
如果楼主是在要想成展开的方式,
可以这样理解:const ( string * ) cstr; 还是那句话,typedef不是简单的文件扩展而要把他看成一个整体(这里相当于加了一个括号)。
对比下易知: const string * cstr; 这个是从左往右来当然意思不同了。
这个应该懂了吧,我还从好几个方面帮你分析的 - . -
一楼的说的最贴切又易懂,就是给字符串指针类型另起个对应本程序的一个个性名字而已,之后每出现pstring,就可以用string *代替来理解
就是把string 定义为*pstring
调用方便点
例如
typedef long long ll
就是把long long定义为ll
写起来方便
给 string* 起了一个外号,叫做 pstring .
定义一个string类型的指针pstring