欢迎光临散文网 会员登陆 & 注册

c++ auto关键字的前世今生

2023-03-09 15:52 作者:大宝子大宝子大宝子  | 我要投稿

2011年,随着C++11的发布,这门高级编程语言步入了现代C++的阶段,其中auto关键字的使用发生了重大的变化。对于C++98/03来说,auto关键字是个可有可无的鸡肋,很少见到有人用它,它被解释为一个自动存储变量的关键字。这里如果没看懂也没关系,笔者建议你粗鲁地忘记它,现代C++中的用法才是重点。

C++11,auto关键字被定义为自动类型推导。几个意思,什么意图?先看看下面几个例子:

C++11以前,我们需要像下面这样做才是合法的,才能通过编译。

是的,没错,就是跟你想的一样,我们不需要像以前那样用精准的数据类型去定义一个变量,换句话说,从某种程度上减轻了C++编程人员的负担,取而代之的是编译器的自动推导。同时,在某些场景下缩短代码的行长度,使得代码布局更加美观

例如:

此外,由于auto关键字的引入,C++的泛型也变得简单起来

结尾:这里粗浅的说了下现代C++中auto关键字的语义变化,以及一些简单的用法。至于top-level const属性丢失,volatile属性丢失,auto值语义以及转发引用等内容,以后有机会再做探讨。

水平有限,欢迎交流指正。

c++ auto关键字的前世今生的评论 (共 条)

分享到微博请遵守国家法律