`
浪淘猪
  • 浏览: 44907 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

const 关键字的作用

 
阅读更多

被面试者只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。如果应试者能正确回答这个问题,我将问他一个附加的问题:下面的声明都是什么意思?

Const只是一个修饰符,不管怎么样a仍然是一个int型的变量

本质:const在谁后面谁就不可修改,const在最前面则将其后移一位即可,二者等效

 

const int a;

int const a;      //前两个的作用是一样,a是一个常整型数。

const int *a;     //意味着a是一个指向常整型数的指针(也就是,指向的整型数是不可修改的,但指针可以,此最常见于函数的参数,当你只引用传进来指针所指向的值时应该加上const修饰符,程序中修改编译就不通过,可以减少程序的bug)。

int * const a;     //意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。

int const * a const;   //意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。

 

 

顺带提一句,也许你可能会问,即使不用关键字 ,也还是能很容易写出功能正确的程序,那么为什么还要如此看重关键字const呢?理由如下:

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

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

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

 

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

1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了
2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const
3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为左值。例如:
const classA operator*(const classA& a1,const classA& a2); 
  operator*的返回结果必须是一个const对象。如果不是,这样的变态代码也不会编译出错:
classA a, b, c;
(a * b) = c; // 
a*b的结果赋值 
  操作(a * b) = c显然不符合编程者的初衷,也没有任何意义。

分享到:
评论

相关推荐

    const关键字详解

    const关键字详解 const关键字是C++中一个非常重要的关键字,其主要用途是限定变量的读写权限,从而提高程序的健壮性。下面将通过对const关键字的详细解释来展示其灵活的用法。 1. 限定符声明变量只能被读 const...

    c++中const关键字使用详解

    C++语言中的const关键字是一个非常重要的修饰符,它的核心作用是声明一个变量为常量,即不可修改。正确地理解和使用const,可以帮助提高程序的健壮性和安全性。本文将详细介绍const关键字在C++中的使用方法。 一、...

    const关键字使用总结

    - **作用**:使用`const`关键字可以定义常量,这些常量一旦定义就必须初始化,否则编译器将报错。 - **示例**: ```cpp const int Max = 100; // 正确 int i = 100; const int Max = i; // 正确 const int ...

    C++const关键字详解

    ### C++中的`const`关键字详解 在C++编程语言中,`const`关键字是一个非常重要的概念,它用于声明常量、限定函数参数以及优化内存管理。本文将深入探讨`const`关键字的各种用法和其背后的原理,帮助读者更全面地...

    C++中const关键字用法详解及实例和源码下载

    现在读到了const关键字的用法,书上面讲解的时候并没有给出完整的实例,只是理论的讲解了一些知识,后来在网上面搜了关于const的关键字的讲解,但是搜到的内容和书上面讲解的内容有着非常让人疑惑的东西,看看下面的...

    C++中const关键字详解

    ### C++中const关键字详解 #### 一、引言 在C++编程语言中,`const`关键字是一个非常重要的概念,它被广泛用于各种上下文中,以提高代码的安全性、可读性和效率。本文将详细介绍`const`关键字的用法及其在不同场景...

    volatile关键字 Const关键字 static关键字 mutable 关键字

    在C/C++编程语言中,`volatile`, `const`, `static` 和 `mutable` 是四个非常重要的关键字,它们各自有着独特的用途和含义。下面将详细解释这些关键字的作用以及它们在程序设计中的应用。 1. `volatile` 关键字 `...

    C++语言const 关键字使用方法图文详解

    全局`const`变量默认为文件作用域,其他文件无法访问,除非使用`extern`声明。例如: ```cpp const int globalConst = 42; // 必须初始化 extern const int anotherGlobalConst; // 需要在其他文件中声明为...

    EFFECTIVE C++ 条款03 尽量使用const 思维导图

    一、const 关键字的作用 -------------------- const 关键字是 C++ 中一个非常重要的关键字,它可以用来修饰变量、函数参数、函数返回值等,以表明这些实体的值不能被修改。使用 const 关键字可以带来以下几点好处...

    C++ const关键字的实例用法

    1. const关键字的作用:const关键字可以修饰变量、函数参数、返回值等,使其不可修改,提高程序执行效率。 2. const关键字的特点:const关键字的实例用法更类似于#define命令,是一个值替换的过程,和C语言中的#...

    浅析c++ 中const关键字

    浅析C++ 中const关键字 C++ 中的const关键字是一个限定符,它限定一个变量不允许被改变。使用const可以在一定程度上提高程序的安全性和可靠性。当我们在编写程序时,可能会遇到一些变量不需要被改变的情况,这时...

    C++编程中的const关键字常见用法总结

    在C++编程中,`const`关键字是一种非常重要的特性,用于定义常量、限制指针和引用的行为,以及约束函数的副作用。以下是`const`关键字的一些常见用法: 1. **定义常量**: `const`关键字可以用来声明常量,确保...

    详解C语言中const关键字的用法

    关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定...

    游戏效率优化(2) 使用const关键字1

    总的来说,`const`关键字在游戏效率优化中起到的作用主要体现在两个方面:一是通过保证参数和对象的不可变性,减少错误和增强代码的稳定性;二是通过编译器优化,减少不必要的内存拷贝和提高执行效率。在编写游戏...

    Const,Const函数,Const变量,函数后面的Const[参考].pdf

    Const 关键字的主要作用是防止意外的变动,提高程序的可靠性和健壮性。 一、Const 变量 Const 变量是指使用 Const 关键字修饰的变量,这种变量的值在定义后不能被修改。例如:`const int x = 10;` 在这里,x 的值...

    关于C的关键字——const的理解和用法

    const关键字的作用是非常灵活的,一个表达式中const的位置不同,效果可能就不一样了。 1. 防止传递的函数参数不被修改 在调用函数的形参中用const关键字,可以防止传递的函数参数不被修改。例如: ```c int ...

Global site tag (gtag.js) - Google Analytics