const;函数(默认值);内存管理

来源:互联网 发布:linux改变文件夹权限 编辑:程序博客网 时间:2024/05/22 01:29

const  :

常量标识符(听到还有常量函数,常量指针) const int =3; 常量不可被修改,用#define(据说是宏定义(编译之前不检查语法错误),以后在补充)是一样的,让过放在函数之前,

const  int  *p( == int  const   *p)  =   &x  用*p  =  3是不对的, 但x = 3是对的, 同时在这里p = &y也是可以的,相当于把 y 里的值给了 x 。

int  * const  p =  &x 在这之中,const  p成了地址常量, 用* p可以改变  x 的值,

int const  &z = x在这之中,z 不可变,x 是可变的

const  int  *  const  p   p的地址为常量,p的内容也是常量。

int  fun ( int   num) const  {  .........  ;  }此为常量函数,每次的返回值 都会返回到同一个地址,无限覆盖。

1、int x = 3;const  int  &y = x;使x = 5是可以的,y = 5,是不可以的。

2、int x =  3;const y  =  x;在执行这样的操作 y  =   5  不对,

3、int x  =  3;const  int  y  =  &x y  =  5  不对, x  =  5  正确。

4、int  x  =  3,z  =  4;  int  *  const  y  =  & x 之后再 int  *  const  y  =  & z 不对。

函数(默认值):

在申明的时候带了默认值,在定义的时候不用再次赋值,默认值只能放在右侧。

在重载的时候,计算机的会以 name_int_int 和name_int_int_int 的方式来记录含不同数目参数的函数。

inline(内联函数) 只是在函数定义的时候对系统进行建议,

内存管理:

内存是资源,管理意味着申请(c :malloc ;c++:new )与还原(c:free ;c++:delete )。

c: void  malloc (size_t  size )

void free ( void  *malloc )

c++:int   a =  new  int  [10]申请10个整形空间

  if (null  ==p  )还要判断是否申请成功

  delete  [  ]  a;释放内存

   a  =  NULL;对于堆的释放最后还要  置空 


0 0