this指针概念浅析


前言

本文对C++中涉及的this指针进行简要的总结,具体包括this指针概述,this指针限制,this指针作用等

一、this指针是什么?

this指针是C++面向对象中类与对象所设计的一个关键的指针,它不属于类的对象而属于类本身,具体定义类似如下:

T* const this;//其中T是类的类型

二、this指针有哪些作用

1.隐式传入

当类的对象调用非静态成员函数,或者说类的非静态成员函数访问类的对象是,this指针会作为两者之间的一个隐藏的参数传入。给出一个this指针使用示例如下:

class MyClass {
private:
    int value;

public:
    MyClass(int val) : value(this->initialize(val)) {}

    int initialize(int val) {
        return val * 2; // 模拟初始化过程
    }

    int getValue() const {
        return this->value;
    }
};

int main() {
    MyClass obj(10);
    std::cout << obj.getValue() << std::endl; // 输出 20
    return 0;
}
//在这个示例中,构造函数使用 this->initialize(val) 来初始化成员变量 value。this 指针在这里是隐式传递的,用于访问成员函数。

2.同名调用区分

当在成员函数中,使用的变量名跟类的成员变量同名时,可以借助this进行区分

this->val = val;//val是成员函数的局部变量而this->是类定义的成员变量名

三、 this指针的适用范围

this指针存在于非静态成员函数范围类的对象时,而全局函数,静态成员函数是没有this指针的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小凡下方了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值