【问题标题】:Type alias for auto自动输入别名
【发布时间】:2020-11-06 01:52:43
【问题描述】:

是否可以为auto 创建类型别名?我试过using var = autotypedef auto var,都抛出了一个不允许的错误。那么有没有办法呢?

【问题讨论】:

  • 不要。代码主要是供其他人阅读的。仅仅因为你更喜欢用另一种语言为某事创建你自己的特殊名称,这将使其他C++程序员不太能够理解你的程序。习惯用语几乎总是更好。
  • 投反对票但不是想法的家伙。如果您想解决这个想法,请写下答案。
  • @AsteroidsWithWings 是的,你是对的。虽然不建议,但允许
  • @arsdever 确实,您可以随心所欲地投票。但是,如果每个人都遵循它的精神,这个系统就会运作得最好。
  • @arsdever 我没有投反对票,但我也没有看到这个问题有多大价值:OP 没有对 C++ 中的 auto 实际是什么或它应该是什么进行任何研究去做。这甚至可以用来证明这个问题的结束是合理的。不过,我同意,提出这个问题可能会有所帮助,如果只是为了向其他没有做过研究的人指出这个问题。

标签: c++ auto type-alias


【解决方案1】:

没有。

auto 不是类型。

是触发类型推断的关键字。

为了让它工作,它需要一些信息来推断!这就是它在带有初始化程序的声明中起作用的原因。

如果您真的希望能够在代码中编写var 以获得相同的效果,例如在(比如说)JavaScript 中,您可以编写一个宏:

#define var auto

这将使“词”var 的行为与“词”auto 一样。

但是请,请,请不要那样做。它只会让 C++ 开发人员更难理解你的代码,而实际上并没有给任何人带来任何切实的好处。

【讨论】:

  • 我只是好奇是否可以不使用宏,无论如何都不会使用它。
猜你喜欢
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 2019-01-30
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多