zoukankan      html  css  js  c++  java
  • c++的const

    C语言中是没有const的,一般都使用#define
    #define有一个很显著的缺陷就是它在定义的时候不会去检查是否合法,它只是作了一个单纯的字符替换,甚至编译都不会去检查,使用不当则容易出现运行时错误。
    可能是出于此考虑吧,C++就引入了一个const来专门用来修饰常量。

    const它自然就是修饰常量咯,它修饰的常量必须在定义时初始化,且一经定义就不允许修改了。
    注意和javafinal区分一下,final修饰局部变量时是可以先定义后赋初值的,不过在使用前必须要给定初值。

    另外const还有一个神奇的用法,就是有时候可以不显式定义。
    如果常量定义语句中所要定义的常量是整型,那么类型关键字int可以省略。

    比如:

    int a = 1,b = 2;
    const c = a + b;
    const int d = a + b;
    

    这个cd其实是一样的,都是可行的。

    当然咯,前面还提到了#define的缺陷,而const显然是会在编译时对常量的合法性进行检查的。

  • 相关阅读:
    模块的种类和导入方法
    小知识点补充
    9.17模拟赛2.0
    hdu2181 哈密顿绕行世界问题
    9.17模拟赛
    9.15模拟赛
    P1084 疫情控制
    9.14模拟赛
    【bzoj1232】[Usaco2008Nov]安慰奶牛cheer
    P3128 [USACO15DEC]最大流Max Flow
  • 原文地址:https://www.cnblogs.com/yinyoupoet/p/13287464.html
Copyright © 2011-2022 走看看