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);
    }
    
  • 相关阅读:
    Struts2多文件上传
    Struts2单文件上传
    java验证码
    spring-day01
    Spring MVC篇一、搭建Spring MVC框架
    连接oracle数据库
    spring 核心技术
    Spring的特点
    spring连接数据库
    oracle学习第六天
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/9505457.html
Copyright © 2011-2022 走看看