c++ - auto* 在编译时有用还是 auto 关键字就足够了?

标签 c++

由于 auto 关键字在编译时获取类类型,我想知道使用 auto* 是否有任何效率,或者是否有任何特殊用途该表达式,因为 auto 在编译时已经获得了指针类型。

最佳答案

这个“新奇的 C++11”与高效编译没有任何关系,除了在非常奇怪的极端情况下。 所有这些都是为了让人类更容易编写和理解代码。 auto* 让您清楚地知道您拥有一个指针类型的值,并且编译器仅将其用作额外的类型检查标准,并且如果该类型不是指针类型,则会发出诊断信息——您的代码将出现格式错误,这是一个硬错误。

我不记得 auto* 是否可以作为消歧器参与类型推导,但如果可以,那将是使用它的技术原因。 语言律师,船上有语言律师吗? :)

大多数设计得当的项目——即使是大型项目——在更改后都应该快速重新编译,这是对代码进行适当分区并拥有利用这种分区的开发构建的问题。

关于c++ - auto* 在编译时有用还是 auto 关键字就足够了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917719/

相关文章:

c++ - 结构构造函数调用不明确

c++ - 光标仍然出现在 LineEdit 中,尽管它不再聚焦

c++ - 变量 args SFINAE 默认构造函数在 clang 中工作,但在 Visual Studio 2015 中失败

c++ - 窄播有什么作用?

c++ - 删除 getenv() 返回的字符数组

c++ - 协助使用基于 C++ 的基本 GPA 计算器和 cin 用法

c++ - 进入main前访问违规读取位置

c++ - 是否有任何编译器支持 constexpr?

c++ - 泽勒的同余编码,输出错误的一天

c++ - 仅读取数字的 scanf 格式说明符