使用this指针注意的问题

【P115 33】C++ 对象特性—this指针和空指针 this指针 通过4.3.1我们知道在C++中成员变量和成员函数是分开存储的 每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这—块代码是如何区分那个对象调用自己的呢? C++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属的对象 this指针是隐含每一个非静态成员函数内的—种指针 this指针不需要定义,直接使用即可 this指针的用途: ·当形参和成员变量同名时,可用this指针来区分 ·在类的非静态成员函数中返回对象本 阅读详情

一,使用this指针应注意的问题

下面的代码在编译时会出错

class A{
public:
    ~A(){
        delete this;
        this = NULL;
    };
};
问题主要出在this = NULL上,因为在成员函数中this指针的类别是A  *const  this,this是一个常量只能使用不能修改。
c764-基于Vue的实时温湿度监控系统 🌟 毕业设计指导交流 🌟 同学们好!作为一名计算机专业的技术爱好者,我在毕业设计领域积累了一些经验,希望能和大家分享交流。从选题到答辩,欢迎一起探讨技术问题。💡 技术方向: 熟悉Java全栈(SSM/Spring Boot)、Python数据分析、微信小程序/安卓开发等技术栈,可以互相学习项目开发经验。📂 学习资源: 整理了一些开源项目案例(含代码和文档),需要参考的同学可以留言讨论,也欢迎分享你的项目经验。🛠 交流内容:✨ 欢迎在评论区留言讨论,一起进步!记得遵守社区规范,保持学术 阅读详情

相关推荐

自回归分布滞后模型 (ARDL)及 Stata 具体操作步骤

例如,Bahmani-Oskooee 和 Brooks(1999)研究了汇率波动与贸易收支之间的关系,发现汇率的变动在长期和短期内对贸易收支的影响存在差异,ARDL 模型能够有效地捕捉这种复杂的关系。它结合了自回归(Autoregressive,AR)模型和分布滞后(Distributed Lag,DL)模型的特点,能够同时考察变量之间的短期和长期关系。假设我们收集了一段时间内的居民消费和可支配收入数据,通过对这些数据进行分析和估计,可以得到模型的参数估计值,从而揭示消费与收入之间的短期和长期关系。

a519573917的博客 6095

关于this指针

                                  初学者对this指针真的是很好奇,因为它很神秘。其实,只要以平常心来看待,this就很平常了。1. this只能在成员函数中使用。全局函数,静态函数都不能使用this。实际上,成员函数默认第一个参数为T* const register this。如: class A{public: int func(int p){}}

computerart的专栏 1579

Arduino for ESP32-----ESP-NOW介绍及使用

ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着

Better_man1的博客 2万+

this指针使用错误

// TODO: 给Person增加重载方法setName(String, String): public class Main { public static void main(String[] args) { Person ming = new Person(); Person hong = new Person(); ming.setName("Xiao Ming"); // TODO: 给Person增加重载方法setName

Mr_zhang66的博客 357

inferCNVpy分析流程学习

inferCNV的用途大家都已经很清楚了,接下来就走一下流程,试一试Python版的inferCNV。使用的数据集为:GSE188711,既往推文可见:Scanpy分析全流程(含harmonypy整合/细胞周期矫正/双细胞检测及去除)(

zfyyzhys的博客 1296

PMSM单电阻采样避坑指南:如何解决非观测区电流重构难题(附ST专利分析)

本文深入解析了PMSM单电阻采样技术中的非观测区电流重构难题,并详细介绍了ST专利方案及移相法的工程实践。通过优化PWM调制策略和系统级调试方法,有效解决了相电流检测精度问题,为电机控制领域的工程师提供了实用的技术指南。

weixin_33737774的博客 632

构造函数之this指针的隐藏错误

this指针只有在特殊情况下才会用到, 例如在,**“自定义的重载构造函数”**中, 假如形参中有指针,那么,在函数里面为指针申请内存时, 必须使用this修饰,不然运行后会内存出错。 例如: Human::Human(string name, int age, int salary, char *addr) { this->name = name; this->age = age...

cpp_learner的博客 493

STM32使用ASR01语音播报模块

自己再根据鹿小班模块进行操作进行相关操作,先接上usb数据线。这里提供一套修改好的天问程序模板和stm32f103模板。这里使用的asr01语音播报模块是模块化编程。这里使用的asr01语音播报模块是模块化编程。记得先生成模型再去编译下载。先下载天问block软件。

lml1781978327的博客 1万+

this指针

this是一个指针,它时时刻刻指向你这个实例本身。你可以看到它的成员函数、成员变量,this指针本质上是“成员函数”的形参。你可以看见桌子、椅子、地板等,静态成员函数中不能使用this指针。但是房子你是看不到全貌了。对于一个类的实例来说,当你进入一个房子后,不能给this指针赋值。

m0_63783532的博客 8503

c#窗体应用(.NET Framework)项目对Yaml文件进行写入与读取,Yaml数据转换成json

用到的技术与版本准备工作Yaml数据在C#中进行定义对Yaml文件的读取与写入代码的添加窗体控件控制操作写入数据到Yaml文件读取Yaml文件数据Yaml数据转换成json改进——对yaml文件读取时根据yaml文件中的键进行获取,对c#中怎么取名字无关yaml文件中多个数据读取遇到的问题总结的小点参考的文章在对Yaml文件进行读取前,先将Yaml文件中的数据结构在c#中进行定义,以便后面更好的读取。这里对这四个类型进行举例(这里为了想看看这四个类型到Yaml文件的格式是什么样子的)

永远年轻 1587

TTL转RS422(B)工业级转换模块设计:从原理到实战部署

在工业自动化与嵌入式系统中,串行通信是实现设备间数据交换的基础。其核心原理在于通过特定的电气标准与协议,将数据位序列化后进行传输。RS422作为一种差分平衡传输协议,相比常见的TTL电平,在抗共模干扰与远距离传输能力上具有显著的技术优势,这使其成为工业现场总线、楼宇自动化等对可靠性要求严苛场景的优选方案。要实现TTL设备与RS422网络的稳定互联,关键在于设计一个能够完成单端信号到差分信号高质量转换的硬件模块。这涉及到差分总线收发器芯片的选型、包含终端电阻与TVS二极管的保护电路设计,以及遵循差分走线规则的

weixin_29195615的博客 342

C++中的this指针的注意事项

C++中的this指针的注意事项 this是C++中的一个关键字,实质是一个const指针,指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象就是正在使用的对象。例如:p1.Speak(); p1 就是当前使用的对象,this就是指向p1。 注意: ​ 友元函数没有this指针,因为友元函数不是类中的成员函数,只有成员函数才有this指针(除静态成员函数外)。 #include<iostream> #include<string> using namespace st

qq_50876039的博客 491

极智AI | 谈谈为什么卷积加速更喜欢 NHWC Layout

本文主要讨论一下为什么卷积加速更加喜欢 NHWC 的数据排布。

极智视界 2971

C++入门应该注意的问题(this指针和类对象)

C++入门应该注意的问题(this指针和类对象)

yzy521wjm的博客 399

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C++入门之this指针

指针是一个隐含于每一个非静态成员函数中的特殊指针。它指向调用该成员函数的那个对象,借助。指针,成员函数能够知晓是哪个对象在调用它,从而可以访问该对象的成员变量和成员函数。,也就是返回调用该函数的对象的引用。这在实现链式调用时特别有用。当成员函数的参数名与成员变量名相同时,就可以使用。指针来明确访问的是成员变量。就能清晰地表明操作的是成员变量。类的构造函数里,参数。与成员变量同名,借助。

2201_75446108的博客 262

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

this指针和空指针

C++中成员变量和成员函数是分开存储的 每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码 那么问题是:这一块代码是如何区分那个对象调用自己的呢? c++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属的对象 this指针是隐含每一个非静态成员函数内的一种指针 this指针不需要定义,直接使用即可 this指针的用途: 当形参和成员变量同名时,可用this指针来区分 在类的非静态成员函数中返回对象本身,可使用r

qq_40786884的博客 480

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

this指针_【C++学习笔记(十三)】之this指针的初解读与使用

点上方蓝字开发小鸽获取更多干货在右上方···设为星标★,与你不见不散本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 问题 非内联成员函数只会产生一份函数实例,也就是说多个类对象公用一份函数代码,那么这块函数代码如何区分到底是哪个类对象调用的自己呢?用this指针来区分类对象。二. this指针...

weixin_39743423的博客 89

this指针的使用

当我们调用一个类对象的时候,就会有一个this指针与调用成员函数的对象绑定在一起。虽然成员函数可以显式的使用这个指针,但是一般在什么时候使用呢? 当我们需要使用这个类的整体而不是其中的某个成员时,就需要this指针了。最常见的情况,就是一个函数返回调用该函数对象的引用: char Screen::get(index n,index c)const { index row = n * wid...

java开发指南博客 【转载】 221

C++ 中的 this 指针

简单点说,this 指针在 C++ 中是一个特殊的指针,指向当前对象的实例并且每一个对象都可以通过 this 指针来访问自己的地址。当然,this 指针是只能在 class, union 或 struct 类型的非静态成员函数中访问的指针。非静态成员函数是没有 this 指针的。还有就是通常来说友元函数没有 this 指针,原因是友元不是类的成员,只有成员函数才有 this 指针。我们可以用 this 指针简化我们代码的编写并且可以很方便的调用我们所需的对象。

GOLOJO的博客 291

【8】学习C++之this指针

在学习类的时候,我们可以考虑到一种情况: class Array { public: Array(int len); ~Array(); void setLen(int len) { len=len;//此时,左边的len是形参的len,右边的是成员变量的len,这部操作相当于把里面什么都没有的成员变量赋值给形参 }; ...

weixin_30260399的博客 127

C++this指针

概念 1.定义   this 指针是只能在 class 、 struct 或类型的非静态成员函数内访问的指针 union,其隐含于每一个非静态成员函数中。 2.实质   1.对象的 this 指针不是对象本身的组成部分,因此它不会在对象的语句结果中反映出来 sizeof 。   2.this 指针指向为其调用成员函数的对象,且其作用域是在类内部.   3.this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 this, 当为某个对象调用非静态成员函数时,编译器会将该对象的地址作为

qq_53305361的博客 279

this指针的认识

this指针的认识1.什么是this指针2.this指针的特性3.this指针的使用 1.什么是this指针 首先来看下面这段代码,从下面的代码中来引伸出什 么 2.this指针的特性 3.this指针的使用

weixin_45143303的博客 221

C++的this指针

在C++中,类内的成员函数和成员变量是分开存储的,只有非静态成员变量才属于类的对象上。每一个非静态成员函数只会生成一份函数实例,多个同类型的对象会公用一块代码,那么这块代码是如何区分那个对象调用自己呢?C++通过指针,解决上述问题。this指针的用途:当形参和成员变量同名时,可用this指针来区分;在类的非静态成员函数中返回对象本身,可使用。

m0_62591054的博客 191

javaScript 的 this指针使用要注意(转)

七:this的注意事项 根据笔者的经验,类中的this并不是一直指向我们的这个对象本身的,主要原因还是因为Javascript并不是OOP语言,而且,函数和类均用function定义,当然会引起一些小问题。 this指针指错的场合一般在事件处理上面,我们想让某个对象的成员函数来响应某个事件,当事件被触发以后,系统会调用我们这个成员函数,但是,传入的this指针已经不是我们本身的对象了,当然,这

trymore的学习和分享 602

c++ this指针的学习

this指针的用途: 当形参和成员变量同名时,可用this指针来区分 在类的非静态成员函数中返回对象本身,可使用return *this #include<iostream> #include<string.h> using namespace std; class Person { public: Person(int age) { //1、当形参和成员变量同名时,可用this指针来区分 this->age = age; } Person&

Hensenberg的博客 125

[2.3-3]weak_ptr 弱引用的智能指针

时,由于aptr是weak_ptr,它并不会增加引用计数,所以ap的引用计数仍然会是1,在离开作用域之后,ap的引用计数为减为0,A指针会被析构,析构后其内部的bptr的引用计数会被减为1,然后在离开作用域后bp引用计数又从1减为0,B对象也被析构,不会发生内存泄漏。,因为它不共享指针,不能操作资源,主要是为了通过shared_ptr获得资源的监测权,它的构造不会增加引用计数,它的析构也不会减少引用计数,纯粹只是作为一个旁观者来监视shared_ptr中管理的资源是否存在。超出作用域,它的引用计数递减到。

buuliuda的博客 755
上一篇: 使用sizeof获取类的大小
下一篇: C++ 静态链接库与动态链接库
一个不务正业的程序猿
博客等级 码龄11年 1879粉丝 563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值