iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中的this指针有什么用
  • 490
分享到

C++中的this指针有什么用

2023-06-17 13:06:07 490人浏览 安东尼
摘要

这篇文章主要介绍“c++中的this指针有什么用”,在日常操作中,相信很多人在C++中的this指针有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的this指针有什么用”的疑惑有所帮助!接下来

这篇文章主要介绍“c++中的this指针有什么用”,在日常操作中,相信很多人在C++中的this指针有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的this指针有什么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

this 指针是一个隐含于每一个类的成员函数中的特殊指针(包括析构函数和构造函数),它用于指向正在被成员函数操作的对象。不过,在一般的程序设计中不直接用它的,this是一个指针变量,因此在成员函数中,可以使用*this来表示正在调用该函数的对象。

1. this指针的用处:

一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。

例如,调用date.SetMonth(9) <===> SetMonth(&date, 9),this帮助完成了这一转换 .

2. this指针的使用:

一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;另外一种情况是当参数与成员变量名相同时,如this->n = n (不能写成n = n)。

3. this指针程序示例:

this指针存在于类的成员函数中,指向被调用函数所在的类实例的地址。

根据以下程序来说明this指针

#include<iOStream.h>   class Point   {   int x, y;   public:   Point(int a, int b) { x=a; y=b;}   void MovePoint( int a, int b){ x+=a; y+=b;}   void print(){ cout<<"x="<<x<<"y="<<y<<endl;}  };   void main( )   {   Point point1( 10,10);   point1.MovePoint(2,2);   point1.print( );   }

当对象point1调用MovePoint(2,2)函数时,即将point1对象的地址传递给了this指针。

MovePoint函数的原型应该是 void MovePoint( Point *this, int a, int b);***个参数是指向该类对象的一个指针,我们在定义成员函数时没看见是因为这个参数在类中是隐含的。这样point1的地址传递给了this,所以在MovePoint函数中便显式的写成:

void MovePoint(int a, int b) { this->x +=a; this-> y+= b;}

即可以知道,point1调用该函数后,也就是point1的数据成员被调用并更新了值。

即该函数过程可写成 point1.x+= a; point1. y + = b;

4. 关于this指针的一个经典回答:

当你进入一个房子后,

你可以看见桌子、椅子、地板等,

但是房子你是看不到全貌了。

对于一个类的实例来说,

你可以看到它的成员函数、成员变量,

但是实例本身呢?

this是一个指针,它时时刻刻指向你这个实例本身

到此,关于“C++中的this指针有什么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C++中的this指针有什么用

本文链接: https://www.lsjlt.com/news/289383.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中的this指针有什么用
    这篇文章主要介绍“C++中的this指针有什么用”,在日常操作中,相信很多人在C++中的this指针有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的this指针有什么用”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • 怎么在C++中使用this指针和空指针
    本篇文章为大家展示了怎么在C++中使用this指针和空指针,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属...
    99+
    2023-06-14
  • JavaScript中的this指针有什么作用
    本篇内容主要讲解“JavaScript中的this指针有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中的this指针有什么作用”吧...
    99+
    2022-10-19
  • C++中类的this指针怎么使用
    这篇“C++中类的this指针怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中类的this指针怎么使用”文章吧...
    99+
    2023-06-29
  • C++ this指针和空指针的具体使用
    每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这—块代码是如何区分那个对象调用自己的呢? C++通过提供特殊的对象指针,this...
    99+
    2022-11-12
  • C++ 中this指针的用途详解
    目录1.区分形参和变量同名时:2.return *this返回函数本身总结先说结论: 1.形参和变量同名时,可用this指针来区分 2.在类的非静态成员函数中返回本身,可用retur...
    99+
    2022-11-12
  • C++中的this指针的功能
    这篇文章主要讲解了“C++中的this指针的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中的this指针的功能”吧!this指针是一个特殊的指针,当类的某个非静态的成员函数在执行...
    99+
    2023-06-17
  • C++函数指针,对象指针,this指针,指向类静态怎么用
    这篇文章主要介绍了C++函数指针,对象指针,this指针,指向类静态怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++函数指针,对象指针,this指针,指向类静态怎么用文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • C++中this指针理解及作用
    目录01、C++程序到C程序的翻译02、this指针的作用03、this指针和静态成员函数04、小结01、C++程序到C程序的翻译 想要理解C++语言中的this指针,下面我们做一个...
    99+
    2022-11-13
  • C++ const的使用及this指针常方法(面试最爱问的this指针)
    目录1. const的使用2. this指针 2.1 前言(this指针的引出)2.2 什么是this指针2.3 this指针的特性2.4 [面试题1] this指针存在哪...
    99+
    2022-11-12
  • C++中函数指针有什么用
    这篇文章主要为大家展示了“C++中函数指针有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++中函数指针有什么用”这篇文章吧。1、函数指针函数指针顾名思义,就是指向函数的指针。和数据类似...
    99+
    2023-06-25
  • C语言中指针有什么用
    这篇文章主要介绍C语言中指针有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!(壹)  敢问指针为何物 1.1  指针的概念在计算机科学中,指针(Pointer)是编程语言中的一个对...
    99+
    2023-06-29
  • C++简明图解this指针的使用
    目录成员数据和成员函数的存储方式this指针的引入this指针概述this指针的使用c++的封装性:将数据 和 方法 封装在一起 数据 和 方法 是分开存储。 每个对象 拥有独立的数...
    99+
    2022-11-13
  • C++中关于this指针的入门介绍
    目录简介特性举例注意简介 C++编译器给每个“非静态的成员函数“增加了一个隐藏的指针参 数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有...
    99+
    2022-11-13
  • C语言中指针有什么作用
    这篇“C语言中指针有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中指针有什么作用”文章吧。一、内存本质编程的...
    99+
    2023-06-08
  • C++对象模型与this指针怎么使用
    这篇“C++对象模型与this指针怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++对象模型与this指针怎么使用...
    99+
    2023-06-30
  • c语言指针有什么作用
    C语言指针是一种特殊的变量类型,用于存储内存地址。它们的作用包括:1. 动态内存分配:指针可以用于动态地分配内存,以便在程序运行时创...
    99+
    2023-09-14
    c语言
  • C++11空指针有什么作用
    本篇内容主要讲解“C++11空指针有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11空指针有什么作用”吧!以前什么样在C语言中,使用NULL来初始化空指针。char* pch =...
    99+
    2023-06-19
  • 一起来学习C++中类的this指针以使用
    目录一,this指针的注意点错误用例:二,this指针存在哪里三,this指针的面试坑题总结c++的类中,非静态的成员函数都有一个隐藏的this指针,在函数体中所以的成员变量都是通过...
    99+
    2022-11-13
  • C++指针与引用有什么区别
    这篇文章将为大家详细讲解有关C++指针与引用有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、引用与指针的区别指针和引用的原理非常的相似,所以很多时候尤其是面试的时候经常会拿来比较。本文来梳理一...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作