看了 decltype()和 decltype(())的区别,请问为啥这个语法这么设计啊?感觉真不合理

2023-05-25 17:50:12 +08:00
 adian

将“引用类型”带入到类型推导系统中有什么好处呀?

1518 次点击
所在节点    C++
6 条回复
C47CH
2023-05-25 19:04:04 +08:00
引用这个语法已经和 C++深度绑定了。
GeruzoniAnsasu
2023-05-25 19:33:27 +08:00
https://stackoverflow.com/questions/14115744/significance-of-parentheses-in-decltypec

不是语法设计成这样,而是自动推导机制自然产生的结果
GeruzoniAnsasu
2023-05-25 19:37:56 +08:00
> 将“引用类型”带入到类型推导系统中有什么好处

确切的值类型与移动语义和 copy elision 密切相关,这是现代 c++ 做出的最大优化努力之一
nightwitch
2023-05-25 20:08:44 +08:00
不然完美转发该怎么实现呢
junmoxiao
2023-05-26 14:11:25 +08:00
c++的语法不是孤立的,不能单独看某个语法。都是先引入一类语法技术,然后为了更协调一致或者解决冲突
Caturra
2023-05-26 22:58:13 +08:00
设计动机我不太了解,但是一个 C++表达式既有类型(喜闻乐见的 type ),又有值类别( value category ),这两种不同的特性可以用 decltype(e)和 decltype((e))来区分

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/942949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX