C++学习(一四四)auto关键字

本文深入探讨了C++中的auto关键字,详细解释了其在模板函数中的应用,包括依赖模板参数的变量类型声明和返回值类型推导。同时,文章列举了使用auto时需要注意的多个细节,如初始化要求、引用和const语义处理、数组类型推导等。

auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,类似的关键字还有decltype。

1、在定义模板函数时,用于声明依赖模板参数的变量类型。

2、模板函数依赖于模板参数的返回值。

 

注意:

1、auto 变量必须在定义时初始化,这类似于const关键字。

2、如果初始化表达式是引用,则去除引用语义。

3、如果初始化表达式为const或volatile(或者两者兼有),则除去const/volatile语义。

4、如果auto关键字带上&号,则不去除const语意。

5、初始化表达式为数组时,auto关键字推导类型为指针。

6、若表达式为数组且auto带上&,则推导类型为数组类型。

7、函数或者模板参数不能被声明为auto。

8、时刻要注意auto并不是一个真正的类型。auto仅仅是一个占位符,它并不是一个真正的类型,不能使用一些以类型为操作数的操作符,如sizeof或者typeid。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值