首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

对于C++中的const用法的小结

2013-11-03 
对于C++中的const用法的总结C中由于有指针的存在,所以const的限定就不仅仅是对于一个普通变量的的限定了。

对于C++中的const用法的总结

C++中由于有指针的存在,所以const的限定就不仅仅是对于一个普通变量的值的限定了。个人总结如下:

const int bufSize = 1024;

上述语句是定义了一个int类型的变量bufSize,并且bufSize的值固定为1024,不能改变了。

对于一个非const变量,假设已经做了合适的声明,就可以在另外的文件中使用这个变量,代码来自C++ Primer中文版第四版:

typedef string *pstring;const pstring cstr;


请问cstr是什么类型的变量?

如果你以为是:const string* cstr;那就错了!

错误的原因在于:将typedef当做文本扩展了。声明const pstring的时候,const修饰的是pstring类型,而pstring是一个指针,所以应该相当于:

string *const cstr;

如果还没弄清楚的话,我觉得可以类比:

const pstring cstr;与const int ex;对比,后者表示ex的值不能被修改,前者也是一样,表明cstr的值不能被修改,由于pstring是指针,而如果指针的值不能被修改,就应该是const放在指针类型的后面,也即:string *const cstr;

目前就总结到这里,大部分都来源于c++ primer 第四版,然后加上一些自己的理解。




热点排行