const 的作用


这几天面试了几家公司,都有问到const的作用。因为我以前看过一篇文章,上面说你如果打了“只读”,就差不多了。

不过今天面试,面试官问:cosnt除了“只读”还有没有其他的作用。我说不知道了。

回来查了下资料,

1)可以定义 const 常量

2const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

const意味着"只读"。区别如下代码的功能非常重要。

 

 

const int a;
int const a;
const int *a;
int * const a;
int const * a const;

 

 

  • 前两个作用是一样的,a是一个常整型数。
  • 第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。
  • 第四个意思是a是一个指向整型数的常指针(也就是,指针指向的整型数是可以修改的,但指针是不可修改的)。
  • 最后一个意味着a是一个指向常整型数的常指针(也就是,指针指向的整型数是不可修改的,同时指针也是不可修改的)。


  (1) 关键字const的作用是为给读你代码的人传达非常有用的信息。例如,在函数的形参前添加const关键字意味着这个参数在函数体内不会被修改,属于"输 入参数"。在有多个形参的时候,函数的调用者可以凭借参数前是否有const关键字,清晰的辨别哪些是输入参数,哪些是可能的输出参数。

  (2)合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改,这样可以减少bug的出现。


你可能感兴趣的:(const 的作用)