zoukankan      html  css  js  c++  java
  • C++笔记019:C++中的const修饰的是一个真正的常量


    原创笔记,转载请注明出处!

    点击【关注】,关注也是一种美德~


     

     

    程序一:

    我们知道数组的下标不能为变量,必须是一个确定的值。在C语言中看程序:

    #define a 10

    int main()

    {

    //第一部分

    int c=20;

    int d=10;

    int arr[c+d];

     

    //第二部分

    //int const a=20;

    //int const b=10;

    //int arr[a+b];

     

    return 0;

    }

    理所当然的编译错误,因为数组下标不能是变量。

    在C++中看相同的程序。在C++中这点没有区别,数组下标不能为变量。同样会编译错误。

     

     

    程序二

    继续在C语言中看程序修改:

    //#define a 10

    int main()

    {

    //第一部分

    //int c=20;

    //int d=10;

    //int arr[c+d];

     

    //第二部分

    int const a=20;

    int const b=10;

    int arr[a+b];

     

    return 0;

    }

     

    发现编译错误!错误原因跟修改前一致!

    也就是说:C语言中const定义的a、b实质并不是常量!还是变量所以称之为“常变量

    在C++中看相同的程序:

    int main()

    {

    //第一部分

    //int c=20;

    //int d=10;

    //int arr[c+d];

     

    //第二部分

    int const a=20;

    int const b=10;

    int arr[a+b];

     

    return 0;

    }

     

    编译通过!!!

    结论

    C++中的const修饰的是一个真正的常量而不是C中变量(只读。C++中在const修饰的常量编译期间,就已经确定下来了。

     

     


    原创笔记,转载请注明出处!

    更多精彩请关注微信公众号:依法编程


     

     

     
  • 相关阅读:
    tomcat常见报错解决方法汇总
    C++中socket编程
    Winsock解析
    等价类划分的原则
    在线编译器
    条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
    并发测试
    针对C程序员的 C++
    缸中之脑
    什么是薛定谔的猫
  • 原文地址:https://www.cnblogs.com/tyyhmtyyhm/p/9005695.html
Copyright © 2011-2022 走看看