C++初始化内置类型变量的方式(至少6种)

在C++中,至少存在6种初始化形式,其中不带“=”号的初始化只能用于初始化,不能用于赋值,例如:

    int a{ 1 };

    int b(1);  //注意 ()不能用于类内部成员的初始化

    int c = {1};

    int d = int(1);

    int e = 1;

    int f = (1);

以上6种初始化本质上都是一样的:

    int a{ 1 };

00007FF73ABE2DBD  mov         dword ptr [a],1 

    int b(1);

00007FF73ABE2DC5  mov         dword ptr [b],1 

    int c = {1};

00007FF73ABE2DCD  mov         dword ptr [c],1 

    int d = int(1);

00007FF73ABE2DD5  mov         dword ptr [d],1 

    int e = 1;

00007FF73ABE2DDD  mov         dword ptr [e],1 

    int f = (1);

00007FF73ABE2DE5  mov         dword ptr [f],1 

)

但推荐使用{}的方式,这种方式是安全的,不进行隐匿转换,例如:

int m{1.2}; //编译时会提示错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值