【C++基础】this指针

news2024/11/16 23:47:13

this指针

  • this指针作用:

    c++的数据和操作也是分开存储,并且每一个非内联成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用同一块代码。所以,用this指针表明哪个对象调用自己

  • 定义:

    this指针指向被调用的成员函数所属的对象。

  • 性质:

    成员函数通过this指针即可知道操作的是那个对象的数据。This指针是一种隐含指针,它隐含于每个类的非静态成员函数中。This指针无需定义,直接使用即可。

    注意:静态成员函数内部没有this指针,静态成员函数不能操作非静态成员变量。

  • 应用1:

    函数参数和成员同名,可用this指针解决。

#include<iostream>
using namespace std;
class Data {
public:
     int a;
public:
     Data(int a) {
          this->a = a;
          cout <<"this地址:" << this << endl;
     }
};
void test()
{
     Data ob(10);
     cout << ob.a << endl;
     cout <<"对象地址:" << &ob << endl;
}
int main()
{
     test();
}

 

  • 应用2:

    用this指针表示链式结构。

#include<iostream>
using namespace std;
class Data {
public:
     int a;
public:
     Data &myprint(int a) {
          cout << a << " "<<" "<<this<<endl;
          return *this;//返回调用该成员函数的对象
     }
};
void test()
{
     //Data()是匿名对象
     //myprint()返回的还是匿名对象Data(),所以可以被不断调用。
     Data().myprint(10).myprint(20).myprint(30);
}
int main()
{
     test();
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day08--自定义组件的behaviors(等用于vue中的mixins)

1.啥子是behaviors呢&#xff1f; ************************************ ************************************ ************************************ ************************************ ************************************ ************************************ 2…

基地树洞 | 自动化小系列之番外篇

程序员或许只是一份工作&#xff0c;编码或许是为了生存&#xff0c;但是归根结底&#xff0c;我们为什么要写代码&#xff1f; 有没有⼀种可能&#xff0c;在我们的日常工作生活中&#xff0c;代码的初衷就是为了提升工作作效率&#xff0c;减少不必要的重复&#xff01; 今…

钱包追踪分析的 3 个使用案例

Nov. 2022, Vincy Data Source: Footprint Analytics - Wallet Profile 钱包跟踪分析让分析师了解区块链用户的链上活动和持仓情况。 在本文中&#xff0c;我们将介绍钱包分析器发现的一些指标。 Footprint Analytics - Wallet Profile Footprint Analytics 从中挑选相对比较…

JVM 核心技术 - 知识点整理

JVM 核心技术 JAVA 前言 JDK (Java Development Kit) JRE 开发工具JRE(Java Runtime Environment) JVM (Java Virtual Machine) 类库一次编译&#xff0c;到处执行的原理&#xff1a; java字节码可以在有JVM的环境中运行&#xff0c;不关心操作系统的版本&#xff0c;减少…

Spring Cloud版本,Spring Boot版本详细对应关系

目录 一、官网&#xff08;网页版&#xff09; 二、官网&#xff08;API接口&#xff09; 三、根据历史官方文档梳理、保存的表格 四、官方&#xff08;wiki&#xff09;Spring Cloud的各个组件与Spring Boot支持、对应关系 有多个方式可以查看Spring Boot和Spring Cloud版本…

嵌入式分享合集107

一、Wi-Fi HaLow Wi-Fi HaLow很快就会出现在我们日常生活中的智慧门锁、安保摄影机、可穿戴设备和无线传感器网络上。什么是Wi-Fi HaLow&#xff1f;与传统的Wi-Fi&#xff08;4/5/6&#xff09;有何不同&#xff1f;究竟是什么让Wi-Fi HaLow成为物联网的理想协议&#xff1f;…

【初阶数据结构】——带头双向循环链表(C描述)

文章目录前言带头双向循环链表实现1. 结构介绍2. 结点创建3. 初始化4. 销毁5. 头插6. 头删7. 尾插8. 尾删9. 打印10. 查找11. 在pos之前插入数据12. 删除pos位置13. 判空14. 计算大小源码展示1. DoubleList.h2. DoubleList.c3. Test.c前言 上一篇文章我们学习了单链表&#xff…

SpringBoot自动装配原理

目录一、前言二、SpringBoot自动装配核心源码2.1、SpringBootApplication2.2、EnableAutoConfiguration2.3、Import(AutoConfigurationImportSelector.class)2.3.1、selectImports方法2.3.2、getAutoConfigurationEntry方法2.3.3、getCandidateConfigurations方法2.3.4、Spring…

在阿里云 ACK 上部署 EMQX MQTT 服务器集群

云进入以「应用为中心」的云原生阶段&#xff0c;Operator 模式的出现&#xff0c;则为 Kubernetes 中的自动化任务创建配置与管理提供了一套行之有效的标准规范。通过将运维知识固化成高级语言 Go/Java 代码&#xff0c;使得运维知识可以像普通软件一样交付&#xff0c;并能支…

欧姆龙NJ/NX基于Sysmac Studio的EIP通讯 方式

目录 Omorn - NJ301-1100 AND NX102-9000 EIP - Sysmac Studio 测试案例IP 创建变量类型 通讯配置 控制器程序下载 通讯测试 Omorn - NJ301-1100 AND NX102-9000 EIP - Sysmac Studio 测试案例IP 创建变量类型 通讯配置 控制器程序下载 通讯测试 Omorn - NJ301-1100…

Go语言快速入门笔记

文章目录import匿名导包和别名导包的方式defer语句数组和动态数组固定长度数组切片&#xff08;动态数组&#xff09;切片的容量追加和截取map面向对象struct继承多态interface空接口万能类型与类型断言机制变量的内置pair结构变量结构reflect包(反射)reflect反射解析结构体标签…

【Java毕设】基于idea Java的在线考试系统(附源码+课件)

项目介绍&#xff1a; 本系统是一个基于java的在线考试系统。它的用户由学生、教师和系统管理员组成。学生登陆系统可以进行在线测试和成绩查询。当学生登陆时&#xff0c;系统会随机地为学生选取试题组成考卷。当学生提交考卷后&#xff0c;系统会自动批改客观题&#xff0c;…

html实现爱情告白(附源码)

文章目录1.设计来源1.1 主界面1.2 执子之手&#xff0c;与子偕老1.3 死生契阔&#xff0c;与子成说1.4 生当复来归&#xff0c;死当长相思1.5 自君之出矣&#xff0c;明镜暗不治1.6 思君如流水&#xff0c;何有穷已时1.7 南有乔木&#xff0c;不可休思1.8 汉有游女&#xff0c;…

快递查询工具,一键查物流,派件时效怎么分析

快递发货后&#xff0c;该如何快速查询到物流信息、比如怎么分析派件时效呢&#xff1f;今天小编给大家分享一个新的技巧&#xff0c;它支持多家快递&#xff0c;一次能查询多个单号物流&#xff0c;还能对查询到的物流进行分析、导出以及筛选&#xff0c;下面一起来试试吧。 …

3000万人气的腾格尔,会和金鸡奖提名电影《巴林塔娜》合作吗

刚刚结束的2022年11月19日&#xff0c;对于“草原歌神”腾格尔来说&#xff0c;注定是要被载入史册的一天。2022年11月19日&#xff0c;是卡特尔世界杯开幕式的前一夜&#xff0c;腾格尔老师也通过某音平台&#xff0c;开启了自己的线上演唱会。 说起明星们的演唱会&#xff0c…

redis 登录案例

下图就是登录controller Controller public class LoginController {RequestMapping("/login")public String Login(String username, String password, HttpServletResponse response){System.out.println(username);System.out.println(password);//判断账号密码 …

微信小程序 | IM交友聊天功能大汇总

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

关系数据库系统中的 NULL 值及其用途

在数据库中&#xff0c;NULL值具有非常特殊的含义。因此&#xff0c;重要的是要理解NULL值不同于零值或包含空格的字段。在今天的博客中&#xff0c;我们将探讨 NULL 值的含义以及如何在 Navicat Premium 中使用NULL。 什么是NULL&#xff1f; 应该注意的是&#xff0c;NULL值…

Linux上部署Kubectl(k8s)

Linux上部署Kubectl(k8s) 1.k8s简介 1.1 Kubernetes 概念 在 k8s 上进行部署前&#xff0c;首先需要了解一个基本概念 Deployment Deployment 译名为 部署。在k8s中&#xff0c;通过发布 Deployment&#xff0c;可以创建应用程序 (docker image) 的实例 (docker container)…

跑步需要哪些运动装备?跑步爱好者者的装备推荐

一开始我认为跑步是不需要装备的&#xff0c;毕竟是基础运动&#xff0c;但问了一下身边的运动大神才明白在长期的跑步锻炼&#xff0c;特别是长跑的过程中好的装备不但可以保护你免受伤害&#xff0c;还能帮助你更好的掌握运动状态&#xff0c;进行合理的锻炼下面我就给大家列…