默认初始化、值初始化

橙三吉。 提交于 2020-03-18 21:52:47

默认初始化

1)当一个变量定义时没有指定初始值,将执行默认初始化(有一种特殊情况在值初始化的第2点)

2)默认初始化的初始值规则:对于内置类型:如果是全局变量的,则初始化为0,如果是局部变量的,则不被初始化;对于类,执行默认构造函数

值初始化

1)值初始化的初始值规则:与默认初始化规则一致

2)容器或数组定义时只给部分元素提供了初始值,则剩余部分元素将执行值初始化

  如:int a[10]={0};  //只提供了一个0,剩余9个元素值初始化为0

3)容器初始化时只提供了数量没有提供初始值,则容器内元素将执行值初始化

  如:vector<int> vec(10);  //vec中含有10个0

    vector<string> vec(10);  //vec中含有10个空string

    vector<bool> choose(10);  //vec中含有10个false

4)静态局部变量没有指定初始值,则执行值初始化(不是默认初始化

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!