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;
    }
  • 相关阅读:
    hibernate update部分更新
    strtus2.0实现下载
    cookie和session机制之间的区别与联系
    生成随机数字验证码
    ssh生成随机数字验证码
    ASP一句话轻松获取域上的用户名
    SQL server 日志文件清除
    Entity Framework中使用DbMigrator更新数据库至最新结构
    进程间通信
    asp备份SQL数据库
  • 原文地址:https://www.cnblogs.com/qkhh/p/1037491.html
Copyright © 2011-2022 走看看