zoukankan      html  css  js  c++  java
  • 今天复习C++的const,又学到了很多内容,总结一下[原创]

    关于const的用法限制,可以用下面的一张表来表示

    const int *p int cont *p int *const p
    申明时是否需要初始化
    是否可以指向常变量
    是否可以指向变量
    是否可以重新指向
    (*p)++ 是否可以进行
    总结 const修饰的是 *p,即p指向的单元的值,那个单元的值不能改变 它是否和const int *p等价? const修饰的是p内存存放的内容,这个内容不能改变,因此说它不能重新指向别的地址

    下面是测试代码支持

    void TestConst()
    {
      
    const int a = 100;
      
    const int c = 200;
      
    int b = 1;
      
    int d = 10;
      
      
    // test1 
      const int *p1;
      p1 
    = &a; // OK
    //  (*p1)++; // ERROR
      p1 = &c; // OK
      p1 = &b; // OK 
      b++// OK
    //  (*p1)++;
      cout<<*p1<<endl; // 2
      
      
    // test2
    //  int *const ssss; // ERROR
    //  int * const p2 = &a; // ERROR
      int * const p2 = &b; // OK
    //  p2 = &d; // ERROR
      b++;
      (
    *p2)++//OK
      cout<<*p2<<endl;
      
      
    // test3
      int const *p3 = &a; // OK
    //  int const *p3 = &b; // OK
      p3 = &b; // OK
    //  (*p3)++;  // ERROR
      
      
    // test4
      int const *p4 = &b;
    //  (*p4)++; // ERROR
      b++;
      cout
    <<*p4<<endl;
    }
  • 相关阅读:
    努力
    散步
    相信自己
    我仅有的倔强
    存储过程 有用
    面试题整理 !=!=未看 *****面试题整理最全 有用
    项目介绍4 y有用
    面试题;40个多线程的问题 背1 有用
    面试题: redis面试题 有用 redis详细
    数据库相关内容 已看1 有用
  • 原文地址:https://www.cnblogs.com/qkhh/p/1037491.html
Copyright © 2011-2022 走看看