首页 / C++ / C++ 中 const 使用
C++ 中 const 使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ 中 const 使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1761字,纯文字阅读大概需要3分钟。
内容图文
如果你一看见C++中const就脱口而出:“常量!”那只能说明你对c++不甚了解。或者说你太2了.
const得一些使用方法与场景如下:
1:const修饰普通变量,全局变量,静态变量
1 const int iTmp = 1; 2intconst iTmpEx = 2;
变量保持其原有属性,只是多了一个const,只读属性。
这里,const到底是紧贴变量名还是类型说明符号(int)都无关紧要。在修饰指针时候得不同在后面会详细说明.
2:const修饰指针
const 修饰指针有三种情况
// A: 指针指向内容不能修改,指针本身可以修改。 char chBuffer[] = "test"; constchar *pName = chBuffer; pName++; cout<<pName<<endl(); //*pName = ‘c‘; 非法,指针指向的内容不能被修改
//B: 指针指向内容能修改,指针本身不可以修改。 char chBuffer[] = "test"; char * const pName = chBuffer; //pName++; 非法,指针本身不能被修改 *pName = ‘c‘; //内容可以被修改 cout<<pName<<endl();
// C: 指针指向内容不能修改,指针本身不可以修改。 char chBuffer[] = "test"; constchar * const pName = chBuffer; //pName++; 非法,指针本身不能被修改 //*pName = ‘c‘; //非法 内容不可以被修改 cout<<pName<<endl();
写法,比如:const char *pTmp =chBuffer;
等同于 char const *pTmp = chBuffer;
另外
char* const pTmp = chBuffer;
其实,只要看const离哪个近些。 const离pTmp最近,说明它是在修饰指针变量pTmp,表示pTmp不能改变,即不能做pTmp++这种修改pTmp指针的操作。
而 const char* const pTmp = chBuffer;则表示了指针和它指向的内容你都不能做修改。
3:const修饰函数参数
void Test(constint iAge)//函数体中,确保iAge不被修改。void Test(constchar *pName)//函数体中,确保pName指向的内容不被修改。void Test(char* const pName)//函数体中,确保pName不被修改。void Test(constchar* const pName)//函数体中,确保pName和pName指向的内容不被修改。void Test(const ClassTest &obj);// 这种情况使用非常多,这样可以避免调用ClassTest的构造函数,直接传递类对象的地址。
4:const修饰函数返回值
const 修饰返回值的用法比较少见,有种用法,比如
const char* Test();
那么接受它返回内容的变量也要写成const char *pRes;
5:const修饰类成员变量
修饰类成员变量时候,初始化需要放到类初始化列表种进行初始化
class CTest{ public : int m_iAge; } CTest::CTest:m_iAge( 99 ){ }
6. const修饰成员函数
class CTest{ public : void Show()const; private: int m_iAge; } void CTest:: Show()const{ cout<<m_iAge; // m_iAge++; 不能修改 }
对变量的只读访问,只是类普通变量,排除全局,静态变量。
原文:http://www.cnblogs.com/zhidao-chen/p/3829855.html
内容总结
以上是互联网集市为您收集整理的C++ 中 const 使用全部内容,希望文章能够帮你解决C++ 中 const 使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。