gpt4 book ai didi

c++ - "structured bindings"与 "decomposition declarations"

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:48 27 4
gpt4 key购买 nike

观察:

Decomposition declarations. [..] Was originally called "structured bindings".

[..] C++17 decomposition declarations (the feature formerly known as "structured bindings").

问题:

  • 这两个术语中哪个是我们应该使用的正确且最新的术语?
  • 为什么同一个概念有两个名称?
  • 如果分解声明真的重命名为结构化绑定(bind),原因是什么?

最佳答案

新的正确名称将是“结构化绑定(bind)声明”,基于 P0615 中的措辞.基本上,在:

auto [x,y] = Point(4,2);

完整的声明被称为“结构化绑定(bind)声明”,而标识符 xy 被称为“结构化绑定(bind)”。这些将成为 C++17 中的官方术语。事实上,最新的草案部分现在标题为 Structured Binding Declarations .


问题是有两个概念,需要两个不同的名称 - 所以原始措辞文件使用分解声明作为声明语句(术语“结构化绑定(bind)”根本没有出现在措辞中)。然而,对于大多数用户来说,这很愚蠢,因为只有一个概念——结构化绑定(bind)——所以拥有两个不同的名称更难学习。如果编译器错误消息在其消息中使用“分解声明”,则尤其令人困惑。无论使用术语“分解声明”,该功能的名称始终是结构化绑定(bind)。

在 Kona,EWG 决定保留这两个名称,但至少让它们听起来密切相关。

关于c++ - "structured bindings"与 "decomposition declarations",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43907939/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com