码迷,mamicode.com
首页 > 其他好文 > 详细

const 小结: 做函数参数,做函数返回值,以及const函数

时间:2015-03-31 22:02:41      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

做函数参数 :

例如 fun(const int * i)参数i的值不能在fun()函数执行的过程中被修改,它将一直保持调用此函数时传入的值。如果试图修改i值的语句在fun()函数中出现,将导致程序无法编译,这样对参数i起到保护作用。

注:const 通常用来限制函数的指针参数,引用和数组参数,而一般形式的参数因为形参和实参本不是同一内存单元的变量,所以对形参的修改不会影响实参,因此也没有必要限制函数体不能对参数进行修改 

做函数返回值 :

函数返回值为 const 只有用在函数返回为引用的情况。//  关于函数返回值是引用的相关知识参考这里

函数返回值引用常量表示不能将函数调用表达式作为左值使用。

例如函数 min( )。

int & min ( int &i, int &j);

可以对函数调用进行赋值,因为它返回的是左值: min ( a , b )=4;

但是,如果对函数的返回值限定为 const 的:const int & min ( int & i, int &j );

那么,就不能对 min ( a, b ) 调用进行赋值了

const函数:

 

在类中,可以为类的成员函数进行如下形式的定义:

 

class  classname {

 

          int  member ;

 

  public:

 

         int  getMember ( ) const ; 

 

};

这里,在函数定义头后面加上的 const 表示这个函数是一个“只读函数”,可以引用,但不能改变本类中的数据成员。

如在函数体中不能这么写 :

 

    classname :: getmember( )

 

   {  member =4 ; 

 

     return  member;

 

   }

 

 

 

 另外,const成员函数也不能在函数中调用其他非const 的函数。

 

 

更详细的参考这里


总结:

一开始只是想了解一下const做函数参数的,看了半个多小时,最后小结了一下,在众多解释const的代码,虽不难理解,但难以记住,这时不能着急,也不必硬记,只是打个照面,在以后实际应用中再回头过来参考,并熟练地使用罢。

 

const 小结: 做函数参数,做函数返回值,以及const函数

标签:

原文地址:http://www.cnblogs.com/FightForCMU/p/4381937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!