C++笔记:类中的this指针

在 C++ 中,this 是一个指针而不是对象本身。这和 C# 等语言不同。在 C# 中,this 是对象本身的_别名_。

public class test
{
   public test()
    {
        this.do(); //此处的 this 代表对象本身的别名。
    }
   private void do()
    {
        //To do.
    }
}

而在 C++ 中,它是本身的指针。C++ 中由于类遵循了必须先定义再使用的原则,所以在一个类中无法返回一个类自身的类型,这是因为此时这个类还是一个不完全类型(类函数作为类的成员还没有定义完全)。

在一个const成员函数中只能返回 const 类名& 类型,否则,可以返回 类名& 类型。

有的时候,我们希望使用者调用的成员函数返回 const 类名& 类型,但是却在某些情况下必须返回非 const 类型,此时可以使用重载来实现:

定义两个相同函数,分别返回 const 和非 const 引用,那么,通常情况下,编译器认为 const 为更好匹配,但如果必须修改返回的类型,会自动匹配非 const 类型。

题外话:我帮你整理了包括 AI 写作、绘画、视频(自媒体制作)零门槛 AI 课程 + 国内可直接顺畅使用的软件。想让自己快速用上 AI 工具来降本增效,辅助工作和生活?限时报名

当前页阅读量为: