C++ 11 中的 auto 是否会延长编译时间

Does auto in C++ 11 make compile time longer?

本文关键字:编译 时间 是否 中的 auto C++      更新时间:2023-10-16
auto abc = 5566;

据我所知,编译器知道abc在编译时int,因此不会影响运行时性能。

但是,它会使编译时间更长吗?

提前谢谢。

autoint长一个字符,所以词法分析器肯定需要做更多的工作。

另一方面,编译器不再需要检查用户是否提供了适当的类型,所以我最好的猜测是auto会稍微快一些。

最后,您可能不应该根据性能考虑在类型推断和显式类型之间做出决定。意图和清晰度应该是决定性因素。

它可能,也可能不是,这取决于编译器。当然,这种性能不是标准规定的。

由于词汇分析器无论如何都知道5566的类型,因此它可能在很大程度上无关紧要。

你最好担心更多的"宏观"问题,如算法和数据结构选择。您几乎肯定会获得更好的投资回报,而不是担心自动类型选择是否更快。

在创建变量时使用auto与其说是性能,不如说是让你作为编码员的生活更轻松。

与编译时一样,编译器无论如何都必须检查类型 我认为用编译器发现的类型替换自动不会花费更多时间。

如果您想了解更多信息:C++ 11 自动编译时还是运行时?

如果您想知道是否应该使用 auto:使用 C++11 auto 关键字多少钱才算太多?