C++构造函数成员初始值问题
来源:互联网 发布:vb.net 获取网页内容 编辑:程序博客网 时间:2024/06/05 05:51
在C++日常编码过程中,我们经常是定义一个类如果类的成员存在基本类型与已经类类型的指针。我们都会在构造函数中对成员变量进行赋值。
事后在程序出错调试之后发现是因为类实例化时,该成员没有进行赋值引起,我们经常会说是因为没有初始化引起。(这里有一个基本概念的错误)
执行构造函数时,利用初始化列表给成员赋值与函数体中给成员赋值大多数情况得到的结果是一致的。所以很多时候我们本身就没有关注这两种方式的区别
在事实上这两种方式实际上是两个不同的概念
在构造函数初始化列表实际上才是对成员进行初始化
在构造函数函数体中对成员进行赋值实际上已经不是参数的初始化了,是对成员对象的改变。
构造函数的初始化列表有时必不可少,例如:
class A
{
private:
const int m_iValue;
}
类A如果在构造函数中没有对其初始化列表,而在函数体中对其赋值将引发错误
如果成员是Const 或者引用或者是某种没有提供默认构造函数的类类型,我们必须通过初始化列表对成员进行初始化
阅读全文
0 0
- C++构造函数成员初始值问题
- 构造函数成员初始值列表(member initialization list)
- 构造函数初始值列表
- 类构造函数初始值列表
- C++构造函数初始值列表
- 必须在构造函数基/成员初始值设定项列表中初始化
- 构造函数初始化成员变量问题
- 成员函数 构造函数
- 类成员变量和局部成员变量初始值设置问题
- 构造函数中调用虚成员函数问题
- [C++]类成员冒号初始化以及构造函数内赋值
- 构造函数中成员变量初始化顺序问题
- C++内置类型的成员变量初始值的问题探讨
- C++ 关于“不允许使用数据成员初始值设定”的问题
- 构造函数 与成员函数
- 构造函数和成员函数
- c++:静态成员变量和静态成员函数使用问题
- 由C++构造函数初始值列表想到的
- activiti学习--04流程定义:流程定义组成+部署流程定义+查询流程定义+删除流程定义+删除流程定义+查询最新版本的流程定+查询最新版本的流程定义
- 互联网新闻报道中的突发事件识别研究
- Tensorflow--逻辑回归
- LeetCode:M-36. Valid Sudoku
- nvm、nrm、npm 安装和使用详解
- C++构造函数成员初始值问题
- 批处理
- 测试工具--给自己备份学习
- VIN码车架号进行识别OCR录入
- Cordova开发之IOS插件开发
- 关于oracle查找重复数据
- 生活中的某一天
- Uva-1626 lrj-P278 区间dp
- 有内存限制的海量数据排序