网站后台配置,建一个大型网站多少钱,学历提升朋友圈文案,工作服款式简介#xff1a; CSDN博客专家#xff0c;专注Android/Linux系统#xff0c;分享多mic语音方案、音视频、编解码等技术#xff0c;与大家一起成长#xff01; 优质专栏#xff1a;Audio工程师进阶系列【原创干货持续更新中……】#x1f680; 人生格言#xff1a; 人生… 简介 CSDN博客专家专注Android/Linux系统分享多mic语音方案、音视频、编解码等技术与大家一起成长 优质专栏Audio工程师进阶系列【原创干货持续更新中……】 人生格言 人生从来没有捷径只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注Android系统攻城狮 1.前言 本篇目的理解C之his指针应用实例。 C中的this指针是一个特殊指针它指向当前对象的地址。它只能在成员函数方法中使用并且用于引用当前对象的成员变量和成员函数。通过this指针你可以在成员函数内部访问和操作当前对象的成员。
当你在一个成员函数中引用一个成员变量时编译器会将其解析为this-variable其中this就是指向当前对象的指针。这使得你可以区分同名的局部变量和成员变量。
2.应用实例
1.代码示例
#include iostream
using namespace std;class Parent{
public://指向当前对象的副本Parent test1(){printf(xxx----------%s(), line %d, this %p\n,__FUNCTION__,__LINE__,this);return *this;}//指向当前对象的指针Parent *test2(){printf(xxx----------%s(), line %d, this %p\n,__FUNCTION__,__LINE__,this);return this;}//指向当前对象的引用Parent test3(){printf(xxx----------%s(), line %d, this %p\n,__FUNCTION__,__LINE__,this);return *this;}
};int main(){Parent pt;pt.test1();pt.test2();pt.test3();
}
2.this指针用法区别 test1 函数返回值类型为 Parent使用值拷贝的方式返回了当前对象的副本。在函数内部使用 *this 获取当前对象的引用然后返回该引用所指向的副本。这意味着调用 test1 后会创建一个新的 Parent 对象并将其拷贝到调用方。 test2 函数返回值类型为 Parent 指针 (Parent*)它返回了指向当前对象的指针。在函数内部使用关键词 this 获取了指向当前对象的指针并将该指针直接返回。这意味着调用 test2 后会得到指向调用对象的指针。 test3 函数返回值类型为 Parent 的引用 (Parent)使用引用的方式返回了当前对象的引用。在函数内部使用 *this 获取当前对象的引用并将该引用直接返回。这意味着调用 test3 后会得到指向调用对象的引用。 3.总结 这三种方式的区别 1.test1 返回当前对象的副本 2.test2 返回指向当前对象的指针 3.test3 返回指向当前对象的引用