C++ 11 中的 auto 是否会延长编译时间
Does auto in C++ 11 make compile time longer?
auto abc = 5566;
据我所知,编译器知道abc
在编译时int
,因此不会影响运行时性能。
但是,它会使编译时间更长吗?
提前谢谢。
auto
比int
长一个字符,所以词法分析器肯定需要做更多的工作。
另一方面,编译器不再需要检查用户是否提供了适当的类型,所以我最好的猜测是auto
会稍微快一些。
最后,您可能不应该根据性能考虑在类型推断和显式类型之间做出决定。意图和清晰度应该是决定性因素。
它可能,也可能不是,这取决于编译器。当然,这种性能不是标准规定的。
由于词汇分析器无论如何都知道5566
的类型,因此它可能在很大程度上无关紧要。
你最好担心更多的"宏观"问题,如算法和数据结构选择。您几乎肯定会获得更好的投资回报,而不是担心自动类型选择是否更快。
在创建变量时使用auto
与其说是性能,不如说是让你作为编码员的生活更轻松。
与编译时一样,编译器无论如何都必须检查类型 我认为用编译器发现的类型替换自动不会花费更多时间。
如果您想了解更多信息:C++ 11 自动编译时还是运行时?
如果您想知道是否应该使用 auto:使用 C++11 auto 关键字多少钱才算太多?
相关文章:
- 使用简单类型列表实现的指数编译时间.为什么
- 在已经使用Git的情况下减少编译时间
- C++常量数组的编译时间较长
- 编译时间文本到数字转换 (atoi)
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- DLLexport 类模板实例(专用化),减少了仅标头模板库的编译时间
- 替换枚举以最大化编译时间检查的最佳方法
- 不同C++功能的编译时间
- 在预编译标头中实例化模板会缩短编译时间吗?
- 使用 SCons 提取每个编译单元的编译时间
- 将 lambda 函数转换为另一个编译单元中的普通函数会缩短编译时间吗?
- std :: Invoke_result_t编译时间语法错误
- 模板;constexpr;编译时间
- 如何实现声明功能-C 11,编译时间
- 如何减少编译时间:在包含未触及的头文件的情况下
- C++编译时间类型确定
- 特征:返回对具有编译时间尺寸检查的矩阵块的引用
- 在编译时间定义多个派生类
- 在编译时间创建查找表
- C 函数在编译时间返回类型