冒号初始化与构造函数内赋值

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒号初始化与构造函数内赋值相关的知识,希望对你有一定的参考价值。

冒号初始化与构造函数内赋值

​ 今天优势神奇的一天,昨天和老婆说我把我梦到张扁扁的事情写进的我博文里面了,谈说他不高兴了,那我就在写一遍,哈哈哈。

​ 说正事,今天在公司假装努力的时候,发现一个神奇的问题,就是在构造函数后面用:初始化可以正常使用,在构造函数内使用,就不可以了,MLGB的,大学老师也没有教呀,还是我忘记了,今天正好在水一篇博客。

​ 能力有限,先抄为敬!地址:https://blog.csdn.net/zj510/article/details/8135556


关键字: C/C++构造函数初始化冒号函数内

对类成员进行初始化的方式

​ 通常,我们对类成员函数进行初始化有两种方式,

1 构造函数后面跟冒号

2 构造函数里面对成员进行赋值

我更喜欢第二种。

但是呢,说实话,我是真的就是博主提到的那样根本就不知道这两者的区别。今天看了以后才是真的明白了,就是两句话

跟括号初始化就是通过初始化列表初始化,是系统创建成员变量初始化,也就是系统为成员变量分配了一块内存并把相应的数据给填进去;

而构造函数里面调用等于号的方法,是分配好以后进行赋值。

参考链接

https://www.cnblogs.com/xkfz007/archive/2012/05/11/2496447.html

https://blog.csdn.net/zj510/article/details/8135556


以上是关于冒号初始化与构造函数内赋值的主要内容,如果未能解决你的问题,请参考以下文章

C++成员初始化列表(构造函数后加冒号:)(用于在构造函数中初始化类成员变量,可以避免使用构造函数体内的赋值语句,可以确保成员变量在对象构造之初就已经被正确初始化,提高代码的性能和可读性)

c语言中,函数定义中的冒号是啥意思?

20160403_C++初始化列表与赋值

c++ 函数后面加一个冒号的含义

C++ 类 class 构造函数 : 成员赋值 父类提前构造

构造函数初始化