const修饰符在不同位置带来的效应

1.常变量,即const对象 

const int a; //a中的值不可变

const int * b;  //b所指的对象的值不可变,但是b的值可变

 

2.常指针,即const指针

 int* const c;  //c是一个常量指针

3.既是常变量还是常指针

const int* const a;//指针和变量均不可变

4. typedef与const

typedef  string *pstring; //pstring 是一个string指针

const pstring cstr; //可以理解为 (const string*)cstr, cstr是一个常量指针

此处容易理解错误,认为cstr是一个常变量,其实是一个常指针。

 

 

建议:const应该写在类型后面,这样就不会理解错误,如pstring const cstr.

 

posted @ 2020-05-02 13:21  水墨雍和  阅读(355)  评论(0编辑  收藏  举报