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。
本文深入探讨了C++中的auto关键字,详细解释了其在模板函数中的应用,包括依赖模板参数的变量类型声明和返回值类型推导。同时,文章列举了使用auto时需要注意的多个细节,如初始化要求、引用和const语义处理、数组类型推导等。
auto关键字&spm=1001.2101.3001.5002&articleId=107853838&d=1&t=3&u=3d8121b7c568455f9392d4abc416b793)
1483

被折叠的 条评论
为什么被折叠?



