猿问
在C+中,以下短语意味着什么:零、默认和值初始化?
在C+中,以下短语意味着什么:零、默认和值初始化?
在C+中,以下短语意味着什么:
零初始化,
默认初始化,以及
值初始化
C+开发人员应该知道些什么呢?
眼眸繁星
浏览 485
回答 2
2回答
一只斗牛犬
C+03标准8.5/5:到零初始化T型物体是指:-如果T是标量类型(3.9),则将对象设置为转换为T的0(0)值;-如果T是非并类型,则每个非静态数据成员和每个基类子对象都为零初始化;-如果T是一个联合类型,则对象的第一个命名数据成员为零初始化;-如果T是数组类型,则每个元素都为零初始化;-如果T是引用类型,则不执行初始化。到默认初始化T型物体是指:-如果T是非POD类型(第9条),则调用T的默认构造函数(如果T没有可访问的默认构造函数,则初始化不正确);-如果T是数组类型,则每个元素都是默认初始化的;-否则,对象将为零初始化。到值初始化T型物体是指:-如果T是具有用户声明的构造函数(12.1)的类型(第9条),则调用T的默认构造函数(如果T没有可访问的默认构造函数,则初始化是错误的);-如果T是一个没有用户声明的构造函数的非联合类型,那么T的每个非静态数据成员和基类组件都是值初始化的;-如果T是数组类型,则每个元素都是值初始化的;-否则,对象将为零初始化。调用引用类型实体的默认初始化或值初始化的程序格式不正确.如果T是cv限定类型,则使用cv不限定的T版本来定义零初始化、默认初始化和值初始化.
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
C
typedef入门问题
1 回答
我要回答