C++中必须在初始化列表初始化的类型
来源:互联网 发布:订单打印软件 编辑:程序博客网 时间:2024/05/18 03:17
1.赋值是删除原值,赋予新值,构造函数的意思是先开辟空间然后为其赋值,只能算是赋值,不算初始化;初始化列表开辟空间与初始化是同时完成的,直接给予一个值。
2. C++中常量是不能被赋值的,只能被初始化,所以const类型必须在初始化列表中完成;
3. 引用必须在定义的时候初始化,并且不能赋新值,所以引用类型也必须要在初始化列表初始化。
4. 没有默认构造函数的类类型,因为使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。
例题:
class A{
...
private:
int a;
public:
const int b;
float* &c;
static const char* d;
static double* e;
};
上述类型中必须在初始化列表初始化的是b和c;
解疑:d是const类型,为什么d不是必须在初始化列表初始化呢,因为d是static const类型,因为static属于类,不属于具体的对象,所以static成员是不允许在类内进行初始化的,它在未实例化时就已经存在了,而构造函数的初始化列表,只有在实例化时才执行。
0 0
- C++中必须在初始化列表初始化的类型
- 【c++】必须在类的初始化列表中初始化的的几种情况
- 【c++】必须在类初始化列表中初始化的几种情况
- 在构造函数中必须用初始化列表的情况
- c++中必须在类初始化列表中初始化的几种情况
- c++中必须在类初始化列表中初始化的几种情况摘要
- 必须在构造函数的成员初始化列表里初始化
- 必须在类初始化列表中初始化的几种情况
- c++必须在类初始化列表中初始化的几种情况
- c++必须在类初始化列表中初始化的几种情况
- 必须在类初始化列表中初始化的几种情况
- C++ 必须在类初始化列表中初始化的几种情况
- C++必须在类初始化列表中初始化的几种情况
- c++中必须用初始化列表初始化的情况
- 11.c++-初始化列表中初始化顺序和它们在类中声明的顺序保持一致
- 哪些东西必须放在构造函数的初始化列表中?
- 四类需要在初始化列表中初始化的情况
- C++数据成员必须在构造函数初始化列表中初始化
- 高斯约旦法
- Java入门学习-理解int,String,理解类、方法,理解return的用法。
- 底半部之tasklet和工作队列
- 3.sqoop 导入到HDFS,导出到RDBMS
- socket网络字节序以及大端序小端序
- C++中必须在初始化列表初始化的类型
- Linux删除自带mysql 5.1
- Android 平板适配
- RabbitMQ(四)
- Maven在Eclipse下的环境搭建
- Java 数据结构和算法 栈和队列
- 1048. 数字加密(20)
- 数组、字符串及字符串相关函数
- IDEA基础