zoukankan      html  css  js  c++  java
  • c/c++ const this指针

    const this指针

    方法列表后面的const是什么含义呢?答案:不可以在方法里修改成员变量

    class Test{
    public:
      void fun()const{
        //data = 10;//编译不过,因为有const关键字,所以不可以修改this指针所指向的内容
     }
    private:
      int data;
    };
    

    注意点:

    • 非const方法里调用const方法是可以的
    • const方法里调用const方法是可以的
    • const方法里调用非const方法是不可以的。

    原因:this指针。

    因为非const方法里的this指针是有const限制的,所以当在const方法里调用非const方法时,无法给非const方法一个无const限制的this指针。

    #include <iostream>
    using namespace std;
    
    class Test{
    public:
      Test(int d = 0) : data(d){}
      void a()const{
        b();
      }
      //如果去掉方法b的const关键字,编译无法通过
      void b()const{
    
      }
      ~Test(){}
    private:
      int data;
    };
    
    int main(){
      Test t(10);
    }
    
  • 相关阅读:
    mogodb优化
    uuid
    ssl详解
    探究rh6上mysql5.6的主从、半同步、GTID多线程、SSL认证主从复制
    CMAKE MYSQL
    证书生成
    叶金荣主页
    mysqlslap
    sysbench 测试MYSQL
    mysql实验室
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/9505457.html
Copyright © 2011-2022 走看看