学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > const的常用用法大总结

const的常用用法大总结

const的一些常见问题,如const修饰函数的参数、const修饰函数的返回值、const修饰成员函数等等各种情况,看后绝对对你有帮助!

本文档含有三部分

第一部分 const的用法,特别是用在函数后面 (第1-4页) 第二部分 C++的那点事,const,指针和引用的混合使用(第5-9页) 第三部分 const 总结 (第10-13页)

const的用法,特别是用在函数后面

在普通的非 const 成员函数中,this 的类型是一个指向类类型的 const 指针(第 4.2.5 节)。可以改变 this 所指向的值,但不能改变 this 所保存的地址。在 const 成员函数中,this 的类型是一个指向 const 类类型对象的 const 指针。既不能改变 this 所指向的对象,也不能改变 this 所保存的地址。

关键字:Const,Const函数,Const变量,函数后面的Const

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。

const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 1.用const 修饰函数的参数

如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修饰,否则该参数将失去输出功能。const 只能修饰输入参数:

如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地改动该指针,起到保护作用。

例如StringCopy 函数:

void StringCopy(char *strDestination, const char *strSource); 其中strSource 是输入参数,strDestination 是输出参数。给strSource 加上const修饰后,如果函数体内的语句试图改动strSource 的内容,编译器将指出错误。

如果输入参数采用“值传递”,由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加const 修饰。

例如不要将函数void Func1(int x) 写成void Func1(const int x)。同理不要将函数void Func2(A a) 写成void Func2(const A a)。其中A 为用户自定义的数据类型。

对于非内部数据类型的参数而言,象void Func(A a) 这样声明的函数注定效率比较底。因为函数体内将产生A 类型的临时对象用于复制参数a,而临时对象的构造、复制、析构过程都将消耗时间。

为了提高效率,可以将函数声明改为void Func(A &a),因为“引用传递”仅借用一下参数的别名而已,不需要产生临时对象。但是函数void Func(A &a) 存在一个缺点:

“引用传递”有可能改变参数a,这是我们不期望的。解决这个问题很容易,加const修饰即可,因此函数最终成为void Func(const A &a)。

第1页

TOP相关主题

  • 常用的成语用法总结
  • c const用法
  • const用法
  • const cast的用法
  • c语言中const的用法
  • const的用法
  • c语言const用法
  • const用法详解

我要评论

相关文档

  • const的用法—整理归纳总结注释版

    const的用法—整理归纳总结注释版_英语_初中教育_教育专区。const 的用法关于 C++中的 const 关键字的用法非常灵活, 而 使用 const 将大大改善程序的健壮性。 1...

  • Const 用法—整理归纳总结注释版

    Const 用法—整理归纳总结注释版_数学_自然科学_专业资料。Const 用法 Const 最早...大家不妨可以用指针 const 修饰试试理解会有帮助的我 想。 <3> 对于所有非 ...

  • const用法总结

    const用法总结_计算机软件及应用_IT/计算机_专业资料。const 看到 const 关键字,...const的常用用法大总结 13页 免费 const用法 8页 免费喜欢此文档的还喜欢 Const...

  • C++中const用法总结

    使用 const 将大大改善程序的健壮性, 本人根据各方面查到的资料进行总结如下...(2)const 修饰函数返回值 const 修饰函数返回值其实用的并不是很多,它的含义...

  • c++const用法小结

    C++中 const 的用法小结 [来源]本站原创[编辑]本站编辑[时间]2013-09-24 1. const 常量,如 constint max = 100; 优点:const 常量有数据类型,而宏常量没...

  • const_用法总结(C++)

    例如: const double pi = 3.14159; const double i = 3.14; const double ...const的常用用法大总结 13页 免费 在C语言中const 作用的的... 6页 免费 C++...

  • C++中const用法总结

    C++中const法总结 暂无评价0人阅读0次下载举报文档C++中const用法总结 1. const常量,如const int max...

  • C++中const用法总结

    const 修饰普通变量和指针 const 修饰变量,一般有两种写法: const TYPE value; ...const的常用用法大总结 13页 免费 在C语言中const 作用的的... 6页 免费 C++...

  • Const的用法大全

    替代#define 以便于用于类型检查 const 方法可以...使用指针 戒是引用一般用来传递一个大的对象戒是...C_C++指针经验总结 29页 5下载券 嵌入式软件开发面试...

  • C++中const用法总结

    C++中const用法总结_计算机软件及应用_IT/计算机_专业资料。C++中 C++中 const ...const的常用用法大总结 13页 免费 在C语言中const 作用的的... 6页 免费 C++...

  • C++语言中const关键字用法总结

    C++语言中 const 关键字用法总结一、const 是什么在 C/C++ 语言中,const 关键...六、const 与类其实类定义的对象,与普通的变量是一样的, const 修饰时,...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部