首页 > 编程语言 > 详细

C++ 之 const 随笔记

时间:2016-03-17 12:24:29      阅读:152      评论:0      收藏:0      [点我收藏+]

 const关键字,相信对C语言有所了解的同学都应该知道他的作用:1.修饰常量,2.修饰指针,3.修饰函数

 

1.修饰常量

const修饰后的变量被定义为常量

 

2.修饰指针

当用const修饰指针的时候,你可以用const关键字 标明 指针所指内容或者真正本身是常量! 这里有点绕,就用经典的例子举例吧!

 

char greeting[] = "hello";

char*p = greeting;

const char* p = greeting;  //表示指向是常量

char* const p = greeting; // 指针自身是常量。

const char* const p = greeting;

这里有一个规则可以遵循,const 在*的右边表示 指针是常量, 在*左边表示指针所指物是常量,

当然还有种写法是:

const char *   与  char const *  的写法是完全一样的含义。

 

3.修饰函数

3.1 修饰函数的返回值

  当const修饰函数的返回值时,表明此函数返回的内容 是不可修改的!

  这是一个非常好的习惯或者是行为,可以降低使用者使用返回值错误导致的意外(安全性)。

  另外如果是const 指针的话效率也比较高,比如返回值是一个对象,此处将不进行副本操作,避免了对象的副本拷贝构造,且外部不能修改次对象内容!

3.2 修饰函数参数

  const 修饰参数时,首先表面参数是只读内容!

  涉及到了值传递和引用传递的概念,同样是一个效率问题,当应用传递+const修饰,弥补了安全性的缺陷!

3.3 修饰函数本身

  const成员函数 代表着其不可以更改对象内任何non-static成员变量!   当然可以修改static成员变量--注意!!

  冷门关键字:mutable!!  mutable 修饰的成员变量,可以被const成员函数修改!!!!!

  const 成员函数与非const成员函数之间相互调用一定要慎重!!!

 

C++ 之 const 随笔记

原文:http://www.cnblogs.com/gaozhichao/p/5286805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!