栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

创建带指针的类

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建带指针的类

创建带指针的类需要包括三大函数:拷贝构造,拷贝复制,析构函数

拷贝构造函数

以某位知名老师的写的string类,介绍这个函数:

上面这个拷贝构造函数虽然简单,可以发现两个知识点1.入参是引用,且加了const,传参的速度快,且const可以起到这个引用不会被修改;2.s2的拷贝构造函数中引用了s1的私有变量,有点像同一个妈生的孩子是兄弟,私有资源是可以相互使用的。

拷贝复制函数

函数中有个自我检测的语句,如果没有guo这个语句,会发生的事情是:在自己给自己赋值的时候肯定无法完成功能;另外strcpy中会发生拷贝越界的情况,因为strcpy是到才会停止的。

如果类中没有赋值重载函数,在类对象之间赋值的时候会发生内存泄漏,原因如下图:

C++默认的赋值函数是对象的bit拷贝,被赋值对象中成员指针指向的内存就无法再被释放。

析构函数

析构函数就做了一件事情,把类中指针指向的内存给释放到,对象本身占用的内存,delete关键字会释放,delete只能释放变量本身指向的内存空间。

大家在看析构函数的时候,可以随便看下构造函数,有助于我们理解string这个类。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号