美文网首页转载
关键字const的作用

关键字const的作用

作者: 多一点微笑_ | 来源:发表于2016-06-06 16:44 被阅读112次

我为什么还要如此看重关键字const呢?我也如下的几下理由:

1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)

2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。

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


const关键字至少有下列5个作用:

(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;

(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;

(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;

(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;

(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。


举例:

// const两种用法

// const:修饰基本变量p

// 这两种写法是一样的,const只修饰右边的基本变量b

const int b = 20; // b:只读变量

int const b = 20; // b:只读变量

// 不允许修改值

b = 1;

// const:修饰指针变量*p,带*的变量,就是指针变量.

// 定义一个指向int类型的指针变量,指向a的地址

int *p = &a;

int c = 10;

p = &c;

// 允许修改p指向的地址,

// 允许修改p访问内存空间的值

*p = 20;

// const修饰指针变量访问的内存空间,修饰的是右边*p1,

// 两种方式一样

const int *p1; // *p1:常量 p1:变量

int const *p1; // *p1:常量 p1:变量

// const修饰指针变量p1

int * const p1; // *p1:变量 p1:常量

// 第一个const修饰*p1 第二个const修饰 p1

// 两种方式一样

const int * const p1; // *p1:常量 p1:常量

int const * const p1;  // *p1:常量 p1:常量

相关文章

  • ES6新特性

    块作用域 let和const有关let 关键字(只在{}作用域内有用)const 关键字(常量也用于块即作用符 ...

  • const/static/extern/const/static

    const -- 常量 const中文意思是“常量”,不可改变的固定的。const关键字主要作用: const ...

  • const在C语言上的定义和用法

    我们经常可以在函数接口参数位置看到有const关键字,但是这个关键字到底有什么作用呢?其实const关键字的作用主...

  • C语言中const关键词的作用和用途,你真的了解吗?

    作用: const关键字的作用主要有以下几点: (1)可以定义const常量,具有不可变性。 例如: const ...

  • 部分C语言的作用

    关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用const 意味着"...

  • 关键字const的作用

    我为什么还要如此看重关键字const呢?我也如下的几下理由: 1) 关键字const的作用是为给读你代码的人传达非...

  • Es6(上)

    01.let_关键字与const_关键字 let 作用: 与var类似, 用于声明一个变量 特点: 在块作用域内有...

  • ES6(ES2015)标准

    1. const、let关键字 let块级作用域 const常量,引用类型可以改变属性 2. 函数 箭头函数=>:...

  • var、let 和 const

    关键字 var、let 和 const 表示变量作用域,其中var 表示函数作用域,let 表示块作用域,cons...

  • 8.const关键字的作用?

    用const修饰意味着是只读的。 const有以下作用: 欲阻止一个变量被改变,可以使用const关键字。在定义该...

网友评论

    本文标题:关键字const的作用

    本文链接:https://www.haomeiwen.com/subject/gqfddttx.html