const及const在函数前与函数后的区别

转载 2013年12月01日 22:54:18
一   const基础   
    
如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:   
    
int   b   =   500;   
const   int*   a   =   &b;              [1]   
int   const   *a   =   &b;            [2]   
int*   const   a   =   &b;              [3]   
const   int*   const   a   =   &b;   [4]   
    
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《effective   c++》item21上的做法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操 作,如不能*a   =   3   ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常 量。   
另外const   的一些强大的功能在于它在函数声明中的应用。在一个函数声明中,const   可以修饰函数的返回值,或某个参数;对于成员函数,还可以修饰是整个函数。有如下几种情况,以下会逐渐的说明用法:a&  operator=(const   a&   a);   
void   fun0(const   a*   a   );   
void   fun1(   )   const;   //   fun1(   )   为类成员函数   
const   a   fun2(   );   
    
二   const的初始化   
    
先看一下const变量初始化的情况   
1)   非指针const常量初始化的情况:a   b;   
const   a   a   =   b;   
    
2)   指针(引用)const常量初始化的情况:a*   d   =   new   a();   
    const   a*   c   =   d;   
或者:const   a*   c   =   new   a();   

C++函数前和函数后加const修饰符区别

c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义。今天来讲讲const加在函数前和函数后面的区别。比如: 01 ...

const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础           如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:           int  ...
  • senkkes
  • senkkes
  • 2015年11月10日 09:51
  • 168

const在函数前与函数后的区别

一   const基础       如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:       int   b   =   500;   const   ...
  • zxj2018
  • zxj2018
  • 2012年02月14日 11:00
  • 335

【VS开发】【C++开发】const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础           如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:           int  ...

const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础         如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:         int  ...
  • tcz999
  • tcz999
  • 2014年07月08日 10:21
  • 172

const在函数前与函数后的区别

一   const基础       如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:       int   b   =   500;   const   ...

const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础         如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:         int   b   ...

const在函数前与函数后的区别

一   const基础           如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:           int   b   =   500;      co...

const在函数前与函数后的区别

一   const基础         如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:         int   b   =   500;    const   ...

const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础           如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:           int   b   = ...
  • prownd
  • prownd
  • 2016年06月29日 18:39
  • 160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:const及const在函数前与函数后的区别
举报原因:
原因补充:

(最多只允许输入30个字)