[C++] 返回值为 const 类型的作用和什么时候用的注意!
2013-03-07 10:31
351 查看
返回const值,意思指返回的原函数里的变量的初值不能被修改,但是函数
按值返回的这个变量被制成副本,能不能被修改就没有了意义,它可以被赋给任何
的const或非const类型变量,完全不需要加上这个const关键字.但这只对于内部
类型而言(因为内部类型返回的肯定是一个值,而不会返回一个变量,不会作为左
值使用),对于用户自定义类型,返回值是常量是非常重要的,
X Fuction1 () { return X(); }
const X Fuction2 () { return X(); }
如有上面的自定义类X,和函数Fuction1()和Fuction2(),我们进行如下操作时:
Fuction1()=X(1); //没有问题,可以作为左值调用
Fuction2()=X(1); //编译错误,const返回值禁止作为左值调用.因为左值
把返回值作为变量会修改其返回值,const声明禁止这种修改.
按值返回的这个变量被制成副本,能不能被修改就没有了意义,它可以被赋给任何
的const或非const类型变量,完全不需要加上这个const关键字.但这只对于内部
类型而言(因为内部类型返回的肯定是一个值,而不会返回一个变量,不会作为左
值使用),对于用户自定义类型,返回值是常量是非常重要的,
X Fuction1 () { return X(); }
const X Fuction2 () { return X(); }
如有上面的自定义类X,和函数Fuction1()和Fuction2(),我们进行如下操作时:
Fuction1()=X(1); //没有问题,可以作为左值调用
Fuction2()=X(1); //编译错误,const返回值禁止作为左值调用.因为左值
把返回值作为变量会修改其返回值,const声明禁止这种修改.
相关文章推荐
- [C++] 返回值为 const 类型的作用和什么时候用的注意!
- C语言学习9: malloc动态内存存储,动态内存分配去空格字符增长版,动态内存分配去符号incr增长版,型参和返回值都是int型的函数的指针,main函数的地址也可以用指针指向,typedef定义函数指针,函数定义与嵌套的作用,返回函数指针类型,const作用
- c++中,static,和const,以及引用类型的作用
- c++中const类型的使用与注意事项
- 我的核弹C++(一)Void 类型作用
- C++中const的作用
- C++类型转换整理二:static_cast、dynamic_cast、reinterpret_cast和const_cast
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- afxwin1.inl(1014) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- c++中const与函数一起用的时候需要注意什么?
- c++ 显式类型转换static_cast, dynamic_cast, const_cast
- C++ 中的 const 类型变量
- C++中四种类型转换以及const_cast是否能改变常量的问题
- C++的类型转换:static_cast、dynamic_cast、reinterpret_cast和const_cast
- C++类型转换详解--const_cast
- C++中const和static关键字的作用总结
- error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- C++基础——C++风格的类型转换(static_cast、const_cast、dynamic_cast、reinterpret_cast)
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast