C++变量初始化方法

右值可以是常量、变量、表达式等,只要运行到该部时,右值时确定的就可以。

C++较C语言新增的一个初始化方法:int wrens(112); 

另外还有使用{}:

int wrens = {112};

int wrens{112};//省略=

int wrens = {};//空则初始化为0

int wrens{};//同样省略=

注意:一般对数据或结构初始化较多使用{},对单值变量初始化使用较少。使用{}可以防范强制类型转换导致错误。

 

列表初始化不允许缩窄(narrowing),即变量的类型可能无法表示赋给它的值。例如,不允许将浮点型转换为整型。在不同的整型之间转换或将整型转换为浮点型可能被允许,条件是编译器知道目标变量能够正确地存储赋给它的值。例如,可将long变量初始化为int值,因为long总是至少与int一样长;相反方向的转换也可能被允许,只要int变量能够存储赋给它的long常量。

int x={6};

char ch = {x};//不允许这种装换,在编译器看来,x是一个变量,其值可能很大。编译器不会跟踪下述阶段可能发生的情况:从x被初始化到它被用来初始化ch。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值