c++随笔——17.10.29
来源:互联网 发布:筒灯射灯品牌 知乎 编辑:程序博客网 时间:2024/05/23 15:12
类我已经断断续续地看了三遍了,查漏补缺查漏补缺,剩下的只能通过实战进行深入的学习了。
初始化成员列表
Member Initialization List在类构造函数内的类成员变量进行初始化赋值的时候,可以在函数名后面加上冒号:,然后给需要赋值的变量用括号表示需要赋值,还是以例子说明比较好。
class lei.... //声明了一个类
lei::lei(const lei &d): lei_value(d.lei_value),lei_key(d.lei_key) //构造函数的传参是该类的对象
{} //函数体内就是空的了,如果你除了赋值外没有其他事情要做的话
一般也使用在函数中声明定义了一个类对象变量进行操作。
tip:在类中变量定义为私有时,初始化需要使用初始化成员列表进行初始化赋值操作。
tip2:对类对象进行初始化逐一赋值的时候,需要注意,它会一一对应地赋值到相应的变量,例如:
class_name a = b; //b是之前就已经定义过的class_name的对象,现对它初始化,使其a的值
//与b的值都相同
那么,你可能会说,那不是很好吗,如果正常情况下,那是挺不错的,但是,如果,在此类中,有个变量是指针,在构造函数中初始化的时候是给此指针在heap中分配内存空间,这也没问题,那么我们进行对象间的赋值时,一一对应,那么我们的指针也会指向b指针所分配的内存空间,正常情况下也没问题。如果,我们在使用的时候,由于作用域的问题,导致a的生命周期提前结束,调用析构函数,那么那片空间也会被delete掉,即b中指针指向的空间内存被delete了,这是很危险的一件事情。
那么,我们应该怎么做呢?使用拷贝构造函数 copy constructor
阅读全文
0 0
- c++随笔——17.10.29
- 《c++primer》学习随笔——预处理器变量
- C语言学习随笔(2)—— 学习目标
- C随笔
- 随笔17.10.29
- c++随笔——17.10.17
- c++随笔——17.10.18
- c++随笔——17.10.22
- 寇龙威——随笔
- 随笔——梦想
- 随笔——通信
- 随笔——Shadow
- 随笔——码神
- 随笔——三省吾身
- 随笔——CSDN
- 随笔——共同富裕
- 随笔——征婚
- 随笔——想念
- 这些只有程序员才秒懂...
- 第一次全国程序员人口普查
- 程序员辞职常用借口,咱也翻身做回地主!
- 看看别人家的程序员是怎么表白的 !(附教程)
- canvas.drawBitmap(bitmap,srcRect,dstRect,paint)中的srcRect和dstRect的作用
- c++随笔——17.10.29
- yii2使用echart饼图
- 递归 整数分解为若干项之和
- 高德地图——浏览器定位+点击获取经纬度+去除高德百度地图左下角logo
- C#基础知识复习题
- javascript函数作用域
- 219. Contains Duplicate II
- 为什么很少见程序员炫富?
- 懂算法的程序员与不懂算法的程序员