this指针

一. this指针是什么?

this是指向实例化对象本身时候的一个指针,里面存储的是对象本身的地址,通过该地址可以访问内部的成员函数和成员变量。this指针的作用域在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身。在非静态成员函数中,编译器在编译的时候加上this作为隐含形参,通过this来访问各个成员。

二.this指针的属性

(1)名称属性:标识符this表示。
(2)类型属性:类类型* const(类似于类引用的类型)
(3)值属性:表示当前调用该函数对象的首地址。
(4)作用域:this指针是编译器默认传给类中非静态函数的隐含形参,所以其作用域在非静态成员函数的函数体内。
(5)链接属性:在该类作用域中,不同类的非静态成员函数中,this这个指针变量的链接属性是内部的,但其所指对象是外部的,即this变量是不同的实体,但指向对象是同一个。
(6)存储类型:this指针是由编译器生成,当类的非静态成员函数的参数个数一定时,this指针存储在ecx寄存器中;若该函数参数个数未定(可变参数函数),存放在栈中。

通过一段代码来看this指针的作用

class A
{
public:
    int get() const
    { 
        return i; 
    }
    void set(int x)
    { 
        this->i = x; 
        cout << "this指针保存的内存地址为:" << this << endl; 
    }
private:
    int i;
};

int main()
{
    A a;
    a.set(6);
    cout << "对象a所在的内存地址为:" << &a << endl;
    cout << "对象a所保存的值为:" << a.get() << endl;
    cout << endl;
    A b;
    b.set(7);
    cout << "对象b所在的内存地址为:" << &b << endl;
    cout << "对象b所保存的值为:" << b.get() << endl;
    return 0;
}

运行结果 通过这个输出结果,我们可以看到,对象a的内存地址和this指针的一模一样,而当运行到对象b的时候,它的内存地址又和它所对应的this指针指向的内存地址一模一样了。这就说明了this指针变量记录的是当前对象的内存地址,即this指针指向当前的对象!

这里写图片描述

内容概要:本文详细探讨了双馈风力发电机(DFIG)在Simulink环境下的建模方法及其在不同风速条件下的电流与电压波形特征。首先介绍了DFIG的基本原理,即定子直接接入电网,转子通过双向变流器连接电网的特点。接着阐述了Simulink模型的具体搭建步骤,包括风力机模型、传动系统模型、DFIG本体模型和变流器模型的建立。文中强调了变流器控制算法的重要性,特别是在应对风速变化时,通过实时调整转子侧的电压和电流,确保电流和电压波形的良好特性。此外,文章还讨论了模型中的关键技术和挑战,如转子电流环控制策略、低电压穿越性能、直流母线电压脉动等问题,并提供了具体的解决方案和技术细节。最终,通过对故障工况的仿真测试,验证了所建模型的有效性和优越性。 适用人群:从事风力发电研究的技术人员、高校相关专业师生、对电力电子控制系统感兴趣的工程技术人员。 使用场景及目标:适用于希望深入了解DFIG工作原理、掌握Simulink建模技能的研究人员;旨在帮助读者理解DFIG在不同风速条件下的动态响应机制,为优化风力发电系统的控制策略提供理论依据和技术支持。 其他说明:文章不仅提供了详细的理论解释,还附有大量Matlab/Simulink代码片段,便于读者进行实践操作。同时,针对一些常见问题给出了实用的调试技巧,有助于提高仿真的准确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值