16、C++编程中的变量初始化、常量正确性与类型转换

C++编程中的变量初始化、常量正确性与类型转换

1. 变量初始化相关问题

在C++编程里,变量初始化有着多种形式,每种形式都有其独特的含义和用途。下面我们来分析以下几种初始化形式:
- T t; :这属于默认初始化。此代码声明了一个名为 t 、类型为 T 的变量,它会使用默认构造函数 T::T() 进行初始化。
- T t(); :这是一个容易让人误解的情况。乍一看,它好像是变量声明,但实际上它是一个函数声明,该函数名为 t ,不接受任何参数,并且通过值返回一个 T 对象。例如, int f(); 显然是函数声明, T t(); 与之类似。有人提议使用 auto T t(); ,试图利用 auto 存储类来表明想要一个默认构造的 T 类型变量 t ,但在符合标准的编译器中,这种写法是行不通的,编译器仍会将其解析为函数声明,而且指定返回值的 auto 存储类是不被允许的。其实,若想创建一个默认构造的 T 类型变量 t ,直接写 T t; 就可以了,没必要用复杂的写法去干扰后续维护代码的程序员。
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值