const 用法总结

 const关键字有许多的用处,运用得好的话,可以提高程序的健壮性和可读性,const也是c++的一个特色之一。 1。 const可以把一个对象转换为一个常数。如,需要初始一个初始长度,定义为 int len=10;在程序的很多地方都需要使用这个len ,但如果len在某个地方被无意改动,则其他地方需要使用len = 10的地方就会发生错误,而如果把len加上const限定,则以后任何一处改动len的行为都会导致编译器报错,这样就不必修改程序中引用他的地方,直接修改const int len = 10;即可。 2。 const对象默认为文件的局部变量 。 3。 const引用可以被读取,但不能被修改,任何对const引用的赋值都是不合法的,如void test(const TP & obj);可以读取obj,将obj复制到其他对象中,但不能改变obj。 4。 用const 定义函数的返回值, 如果给以“指针传递”方式的函数返回值加const 修饰,那么函数返回的指针的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。例如函数 const char * Get(void); 如下语句将出现编译错误: char *str = Get(); 正确的用法是 const char *str = Get();但要注意的是:如果函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加const 修饰没有任何价值。 例如不要把函数int GetInt(void) 写成const int GetInt(void)。 5。const 成员函数:这个在c++的成员函数中比较常见。任何不会修改数据成员的函数都应该声明为const 类型。如果在编写const 成员函数时,不慎修改了数据成员,或者调用了其它非const 成员函数,编译器报错误,这样做,就提高了程序的健壮性。如:void OutPut() const; output方法只负责输出,而不改变对象的内容,因此把它声明为const,一方面说明它不会改变对象的内容,另一方面也对其作一个限定,如果output内部对对象作了任何修改都是不可以的。 如,我有一个类为:class CMyArray,定义了一个const的成员函数:size_t GetSize() const; 重载操作=:CMyArray & operator = (const CMyArray & newobj) { iLength = newobj.GetSize(); cout<<"now we use assignment operator"<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值