• 今天复习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;
    }
  • 相关阅读:
    关于钩子函数的详细解答:
    Vue实现回到顶部
    Vue实现Rate组件(星星评分)
    Vue-router 路由模式
    javascript中实现跨域的方式
    Promise
    webpack使用
    小程序登录
    api工厂的sdk的使用
    面试题划“重点”
  • 原文地址:https://www.cnblogs.com/qkhh/p/1037491.html
Copyright © 2020-2023  润新知