auto的大量使用

在auto出现之前,
C++需要先推导等号右侧表达式的类型,
然后检查它与变量的类型是否可以转换(例如兼容转换、向下类型转换和自定义类型转换)。

在auto出现之后,
C++在推导出等号右侧表达式的类型之后,
直接指定给变量。

检查的过程变成了指定的过程,时间上可以认为差别不大。


 

Premature optimization is the root of all evil

类型推导(通常)并不是个很难的事情,你更应该关心一下 template 展开的开销。
 
编译器在处理XX a=b时,不管XX是auto还是非auto 一样要去查看b的类型的,并且需要确认可以拷贝构造。所以理论上来讲只会减少编译时间,包括非自定义类型也类似。

posted on 2020-03-04 14:35  lydstory  阅读(151)  评论(0)    收藏  举报

导航