C++this

在 C++ 中,`this` 是一个特殊的指针,它指向当前对象的地址。它是在成员函数内部自动创建的,并且可以在成员函数中使用。

当一个对象调用自己的成员函数时,`this` 指针被隐式地传递给成员函数,使得成员函数可以访问当前对象的成员变量和成员函数。

`this` 指针的主要用途有:

1. 解决成员变量与参数名冲突:当成员变量和参数名相同时,可以使用 `this->` 来明确指定访问的是成员变量而不是参数。

class MyClass {
private:
    int value;

public:
    void setValue(int value) {
        this->value = value;
    }
};

   在上述代码中,`this->value` 表示访问当前对象的成员变量 `value`,而不是函数参数 `value`。

2. 在成员函数中返回当前对象的引用:可以使用 `return *this` 来返回当前对象的引用,从而支持链式操作。

   在上述

class MyClass {
private:
    int value;

public:
    MyClass& setValue(int value) {
        this->value = value;
        return *this;
    }
};

代码中,`return *this` 允许我们在一个表达式中连续调用多个成员函数。

需要注意的是,`this` 是一个常量指针,不能被修改。它的类型是指向当前类类型的非常量指针。

总结来说,`this` 是一个指向当前对象的指针,在成员函数内部使用,用于访问当前对象的成员变量和成员函数。它可以用于解决变量名冲突,并支持链式操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值