3个回答
推荐于2017-09-06
展开全部
例如
int a; //默认初始化
int b = 1; //值初始化
如果直接声明而没有定义的,就会默认初始化
如果有声明有定义的,就会值初始化
(int 类型的默认初始化就是什么也不做)
int a; //默认初始化
int b = 1; //值初始化
如果直接声明而没有定义的,就会默认初始化
如果有声明有定义的,就会值初始化
(int 类型的默认初始化就是什么也不做)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
默认初始化有几种情况: ① 全局变量,默认初始化为0;② 内建类型的局部非静态变量,默认不被初始化,结果是值未定义;③ 类类型初始化的值,由默认构造函数的定义决定。
值初始化有几种情况:① 内建类型的局部静态变量(对应上面的②),值初始化为0; ②使用 Type()显式地请求一个类对象的初始值时,值初始化。③创建了数组但是没有给数组成员初始值或者初始值个数小于成员个数,按成员类型进行值初始化,string初始化为空字符串,int初始化为0.
其实,只是叫法不一样, 记住各种初始化情况的内容比较重要。 表现上没有很明显的区分, 比如默认初始化的①和值初始化的①,表现就很像。
值初始化有几种情况:① 内建类型的局部静态变量(对应上面的②),值初始化为0; ②使用 Type()显式地请求一个类对象的初始值时,值初始化。③创建了数组但是没有给数组成员初始值或者初始值个数小于成员个数,按成员类型进行值初始化,string初始化为空字符串,int初始化为0.
其实,只是叫法不一样, 记住各种初始化情况的内容比较重要。 表现上没有很明显的区分, 比如默认初始化的①和值初始化的①,表现就很像。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询