做网站必须有框架是吗,搭建网页教程,展览公司,wordpress_主题目录 一、this指针概念 二、this指针的特性 三、this指针存在哪里#xff1f; 四、this指针可以为空吗#xff1f; 一、this指针概念 1.是什么#xff1f; 它是类内非静态成员函数的隐含形参#xff0c;this指针指向调用该函数的对象。 this指针是C编译器给每个“非静态…目录 一、this指针概念 二、this指针的特性 三、this指针存在哪里 四、this指针可以为空吗 一、this指针概念 1.是什么 它是类内非静态成员函数的隐含形参this指针指向调用该函数的对象。 this指针是C编译器给每个“非静态的成员函数“默认传入的一个隐藏参数this指针指向调用该成员函数的对象。 2.为什么要有this指针 如何让对象内的成员函数、成员变量看到对象本身呢——通过this指针this是一个指针它时时刻刻指向对象本身。 3.怎么用 this指针只能在一个类的成员函数中调用它表示当前对象的地址。 二、this指针的特性 1. this指针的类型类的类型* const所以this指针被const修饰无法被修改。 2. this指针是隐式的只能在“成员函数”的内部使用。 3. this指针本质上是“成员函数”的形参当对象调用成员函数时将对象地址作为实参传递给this形参。 所以对象中不存储this指针即this指针并不是对象本身的一部分不会影响 sizeof(对象) 的结果。 4.成员函数实际都隐藏了一个this指针参数这是编译器默认传递的不需要我们传递。 eg.实际上的成员函数和成员函数的调用。 eg.this指针由编译器传递。 三、this指针存在哪里 this指针和其他形参一样一般存在栈上。它不在对象里故计算类的大小时没有计算this指针。 四、this指针可以为空吗 可以如使用nullptr实例化一个对象时this指针就为空指向空的地址。 但这样就无法使用this指针调用类内成员因为this指针指向空的地址强行调用类内成员会报错。