【发布时间】:2017-11-12 00:58:54
【问题描述】:
[N4687]
3.9 [defns.dynamic.type]
动态类型
glvalue 所指的最派生对象(4.5)的类型 [示例:如果静态类型为“指向 B 类的指针”的指针 (11.3.1) p 指向 D 类的对象, 派生自 B(第 13 条),表达式 *p 的动态类型是“D”。参考文献(11.3.2)被处理 相似地。 —结束示例] 3.10 [defns.dynamic.type.prvalue]
动态类型
prvalue 表达式的静态类型
关于 3.9 上的动态类型具体的大多数问题。 但是我还是看不懂3.10的意思。
这是cppreference的描述:
prvalue 不能是多态的:它所标识的对象的动态类型始终是表达式的类型。
更新:
3.9 告诉我动态类型意味着类型的确定必须在运行时延迟。
我有几个关于 3.10 的问题:
3.9和3.10有什么关系
为什么强调prvalue?
是不是说prvalue的动态和静态类型总是一样的?
【问题讨论】:
-
您对其中的哪一部分有理解困难?
-
看看这是否有帮助:Object slicing
-
@Yakk 谢谢你的课,我已经更新了我的问题。
标签: c++