观察:
分解声明.[..]最初被称为"结构化绑定".
[..] C++ 17分解声明(该功能以前称为"结构化绑定").
问题:
Bar*_*rry 11
根据P0615中的措辞,新的正确名称将是"结构化绑定声明" .基本上,在:
auto [x,y] = Point(4,2);
Run Code Online (Sandbox Code Playgroud)
完整的语句被称为"结构化绑定声明",而标识x和y被称为"结构化绑定".这些将是C++ 17中的官方术语.实际上,最新的草案部分现在标题为结构化绑定声明.
问题是有两个概念,需要两个不同的名称 - 所以原始的措辞文件使用了声明声明的分解声明(术语"结构化绑定"根本没有出现在措辞中).然而,对于大多数用户来说,这是愚蠢的,因为只有一个概念 - 结构化绑定 - 所以有两个不同的名称更难学.如果编译器错误消息在其消息中使用"分解声明",则特别令人困惑.无论使用术语"分解声明",该功能的名称始终是结构化绑定.
在科纳,EWG决定坚持这两个名字,但至少让它们听起来密切相关.