关闭

const 有什么用

标签: c++c
783人阅读 评论(0) 收藏 举报
分类:
关键字const并不能将一个变量转换成一个常量。一个带const限定符的符号仅仅是表示这个符号不能用于赋值。也就是说这个符号的值是只读的; const限定符不能阻止程序通过内部或者外部方法来修改这个值。const限定符最有用之处仅仅是限定实参指针,表示这个函数将不会改变实参指针指向的 数据,但其他的函数可能会。这可能实const限定符在c和c++中最普遍的用法。

1:const限定符用在数据上。
   const int a = 1;
   表示a是只读的。

2:用在指针上。
  •    cosnt int *p;
   const限定符限定的是p指向的内容。
   p指向一个只读的整形变量,不可以通过*p来改变其值。p本身是个变量。
  •    int const *p; 与上面的是等价的。  
  •    int * const p = &variable;
   const限定符限定的是p,p的值是只读的。

  •    const int *cosnt p = &variable;
   第一个const限定符限定的是p指向的内容,不可以通过*p来改变其值。
   第二个const限定符限定的是p, p的值是只读的。

比较难记?《Effective c++》Item21上提供了一个好方法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
  
const和*的组合通常只用于模拟数组形式参数的按值传递,它声明:我给你一个指向它的指针,但你不可以改变它。 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:152632次
    • 积分:1587
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:10篇
    • 译文:7篇
    • 评论:39条