c++ this指针

CPP中的this指针 this指针是类的一个自动生成、自动隐蔽的私有成员,它存在于类的非静态成员中,指向被调用函数所在的对象。 全局仅有一个this指针,当一个对象被创建时,this指针就存放指向对象数据的首地址。 class Ctest { public: void Funtest(int iValue) { _iValue = iValue; } void Prin... 阅读详情
#include <iostream>

using namespace std;
/*
this 指针是对象创建是产生的,对象没创建没有this指针
类型就是对应对象的类指针
注意this指针不是成员,this指针是类每个成员函数的隐含第一个参数,所以只能在成员函数内部使用this指针,无法在成员函数外部使用
*/
class CStu
{
public:
	int a;
	//this->a;//这里会报错,因为this指针只能在成员函数里使用
	CStu(int a)//这里参数a(局部变量) 在构造函数内 因为变量作用域的原因,会覆盖掉类成员变量a
	{
		show();
		//a = a; //这里两个a全是构造函数参数 a,成员变量a被覆盖掉了
		this->a = a; // 要想使用成员变量a,就要用到this指针,本例中this指针的类型是 CStu*,指向当前对象
		show();
		this->show();
	}

	void show()
	{
		std::cout << a << std::endl;
	}
	//使用this指针常见地方
	CStu * GetAddress() //得到对象的地址
	{
		return this;
	}
	CStu GetObject()
	{
		return *this;
	}

};

int main()
{
	CStu st(2);
	st.show();
	
	CStu *p = st.GetAddress();
	cout << p << endl;

	p->show();

	CStu st2(13);
	st2.show();
	p = st2.GetAddress();
	cout << p << endl;
	cout << sizeof(p) << endl;
	p->show();//这里通过对象地址调用类对象函数

	//st.this;//这里报错,因为this指针不是类成员

	return 0;
}

 

代付系统/代付系统源码/支付宝代付系统/API代付系统 简介: 其他站买的,没有做测试,源码是JAVA的,附带了安装文档,需要的拿无售后 源码下载地址https://www.skpan.cn/2QnIARSZDxG 代付系统/代付系统源码/支付宝代付系统/API代付系统 系统流程: 后台开通代理——开通商户——商户做代付(后台手工提交和 api 提交两种方式) 1、纯代付系统 2、支持个人支付宝全自动 3、支持单笔/批量/API接口方式代付 4、支持白名单、谷歌验证 5、收付款模式采用自动回调/自动转账 一、运营平台 商户管. 阅读详情

相关推荐

逆向解析手淘x-sign签名算法:从抓包到API调用的完整实践

本文详细解析了手淘x-sign签名算法的逆向过程,从抓包工具选择到API调用实践,提供了完整的解决方案。通过分析签名参数组成和生成机制,帮助开发者理解并实现淘宝接口的合法调用,同时强调了安全与合规的重要性。

weixin_29323273的博客 603

C++ this 指针

为什么引入this指针? 最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个时候就是this指针大显身手的时候了。为此我们引入this指针的概念。 this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是

优快云_chaoniubi的博客 434

IIS - 会话cookie中缺少HttpOnly属性

不啰嗦,我们直接开始! 先进行常规设置 打开配置编辑器 选中图中节点,将httpOnlyCookies设置为true 然后。。。不起作用。。。 换种方式 通过配置出站规则getcookie添加HttpOnly 在Web.config中添加如下出站规则 <rewrite> <outboundRules> <rule name="Add HttpOnly"> <match serverVa.

。 21万+

C++ 之 this 指针或常量形参的传递问题或常量成员函数

隐式形参 this 为一个指针,指向函数所在的对象。你可以在成员函数中直接使用隐式形参 this 。this 指针仅能指向由所属类实例化的对象,将实参赋予形参的操作将在创建类的实例对象的过程中自动完成。承诺不修改 X 的函数不能将 X 传递给另一个函数,除非第二个函数也承诺不修改 X。

两个月亮 1554

告别130MB/s瓶颈!用Zynq+NVMe实现1.2GB/s高速存储的PL数据分流实战

本文详细介绍了如何通过Zynq+NVMe实现1.2GB/s高速存储的PL数据分流方案,突破传统Zynq架构130MB/s的瓶颈。文章分享了PL直连NVMe的硬件架构设计、软件栈优化及性能调优实战技巧,帮助开发者实现高速数据流的稳定存储。

weixin_42653691的博客 372

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

C++C2662 const修饰this指针问题

在学习类的模板时遇到了一个小问题 关键处代码 void printArray(const MyArray<int>& arr) { arr.getSize(); } int getSize() { return this->m_size; } 显示错误为C2662,经过查询发现是const修饰this指针出现了问题 大概就是无法将 const A转化为A& 调用类的成员函数时会隐式的传递this指针,而用const修饰引用对象时,将this指

撑一把纸伞,等一位佳人 732

全功能爬虫框架:Botasaurus 的详细使用(现代化、反检测、高并发的智能爬虫框架)

Botasaurus是一个基于 Python 的全栈式智能数据采集框架。它深度融合了以下关键技术: 无头浏览器自动化(Headless Browser Automation):基于 Playwright 或 Puppeteer,支持 Chromium、Firefox、WebKit; 高级反检测引擎(Anti-Detection Engine):自动绕过 WebDriver、Canvas、AudioContext 等 50+ 种指纹检测; 声明式任务模型(Declarative Task Model):用装

数据知道的博客 4370

C++ 的 * this 是什么,怎么用

C++ 的 *this

m0_51913750的博客 2242

蓝桥杯第七届省赛试题--“模拟风扇控制系统”

题目要求 功能简述 “模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间,数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、单片机最小系统、按键输入和电机控制保护电路组成,系统框图如图 1 所示: 单总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生...

qq_43280087的博客 2659

为什么一个“时间片”能折腾 Linux 十年?

时间片扩展不是抢占调度器的控制权,也不是提升优先级。在“非常短暂、非常确定”的用户态临界区内,避免线程被不必要地抢占。用户态自旋锁(user-space spinlock)无系统调用的极短临界区高并发、低延迟的数据结构操作RSEQ(Restartable Sequences)保护区间一旦线程在临界区被抢占,系统整体性能反而下降。线程 A 拿着一个用户态锁线程 B 被调度上来,开始自旋等这个锁但 A 因为时间片用完,被调度器切走CPU 白白空转,所有线程都在浪费时间。

网络技术联盟站 254

C++杂讲 this指针

目录 知识点1【成员数据和成员函数的存储方式】 1、成员函数不占类的空间 2、静态成员数据不占类的空间 知识点2 【this指针的引入】 知识点3【this指针概述】 知识点4【this指针的使用】 1、当形参和成员变量同名时,可用this指针来区分 2、在类的普通成员函数中返回对象本身(*this)(重要) 3、如果成员数据和函数的形参 同名 必须使用this指针 4、this指针完成链式操作 c++的封装性:将数据 和 方法 封装在一起 数据 和 方法 是分开存储。 每个.

万里晴空 1266

华为OD机试真题 新系统 2026-04-22 Python&JS 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 316

C++ this指针

this 指针 引言: 首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个指针:this指针,通过this指针来访问自己的地址。 注意: this指针并不是对象的一部分,this指针所占的内存大小是不会反应在sizeof操作符上的。this指针的类型取决于...

好学者的博客 6万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C++:this指针详解

本篇关于this指针的内容就到这里了,希望对各位有帮助,如果有错误欢迎各位指出。运行下面两串代码,会发现两个代码虽然只差了一行代码,结果却差别很大。C++实现stack代码。C实现stack代码。

2401_86551514的博客 2638

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【C++ | this指针】一文了解C++的this指针

👉本文介绍了C++的this指针,为什么需要this指针,什么是this指针,怎么使用this指针。

wkd_007的博客 1890

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C++ this指针讲解

原因:这里p是空指针,传过去的this指针只是接收了p的空指针,但是在PrintA()中,会隐含一个this->_a,而this指针是一个空指针,访问this指针_a的位置,就要对this指针进行解引用,此时程序就会崩溃,因为对空指针进行了解引用。对于上述类,有这样的一个问题: Date类中有 Init 与 Print 两个成员函数,函数体中没有关于不同对象的区分,从汇编代码上看:它们的调用地址都是一样的。注意:这里我们不能显示this指针所操作的写出来,因为他是隐含的,我们不能抢了编译器的活。

cja0222的博客 997

c++中 this指针详解

this 是 c++中的一个关键字,也是一个常量指针,指向当前对象,也就是当前对象的首地址。通过this指针,可以访问当前对象的成员变量和成员函数。 【特性】 1.  this指针的类型是 类类型* const 2.  this指针并不是对象本身的一部分,不会影响sizeof的结果 3.  this的作用域在类成员函数的内部 4.  this指针是类成员函数的第一个默认隐含参数,

春风来不来的博客 4326

C++:this指针到底是什么东西

在C++中,this是一个隐含的指针,它指向当前正在被调用的函数的对象实例。当你在一个成员函数内部引用selfme或者是无名的"this"时,实际上是访问了这个特殊的变量。this通常用于区分函数参数和局部变量,以及访问或修改该函数所属的对象状态。在这个例子中,printName函数通过this->name访问了MyClass对象的name属性。使用this的关键在于其作用域,它只在当前作用域内的成员函数内有效。在构造函数、析构函数、拷贝构造函数和赋值运算符等特殊成员函数中,this。

m0_49968063的博客 1438

this 指针——谭浩强cpp

this指针是指向调用成员函数对象的指针 所谓“调用对象a的成员函数f”,实际上是在调用成员函数f时使this指针指向对象a,从而访问对象a的成员。 引子:每个对象中的数据成员都分别占有存储空间,如果对同一个类定义了n个对象,则有n组同样大小的空间以存放n个对象中的数据成员。但是,不同对象都调用同一个函数代码段。 当不同对象的成员函数引用数据成员时,怎么能保证引用的是所指定的对象的数据成员呢? #...

haiki66的博客 374

C++this指针

先贴上一段代码 class Alien { public: Alien(int age , string home) { _age = age; _home = home; } void say() { cout << "I'm alien" << "...

TheKingOfSaltlyFish的博客 256

C++的this指针

C++的this指针 当你进入一个房子后, 你可以看见桌子、椅子、地板等, 但是房子你是看不到全貌了。 对于一个类的实例来说, 你可以看到它的成员函数、成员变量, 但是实例本身呢? this是一个指针,它时时刻刻指向你这个实例本身。 C++在初始化对象时,每个对象中的数据成员都会得到系统分配的自己独立的存储空间。对于成员函数来说,一个函数的代码段在内存中只有一份,同一个类中的不同对象在调用自己的成...

物是人非,结局始终不美 1万+

C++ 之this指针详解

this指针 一、this关键字 this指针 每个成员函数(包括构造和析构)都有一个this指针。 this指针指向调用对象,即可以通过this关键字访问对象成员。 //访问成员变量 this->成员名; //访问成员函数 this->函数名(); 注意: 1.this指针的类型为类类型*const(类名 *const ),为右值。 2.this指针本身不占用大小,它并不是对象的一部分,因此不会影响sizeof的结果。 3.this的作用域在类成员函数的内部。 4.this指针是类成员函数

一直努力 3191
上一篇: 5G NSA 和SA 介绍
下一篇: c++引用的一些笔记
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值