引用的初始化与对象的初始化

Initialization of a reference versus initialization of an object

本文关键字:初始化 对象 引用      更新时间:2023-10-16

我知道动态强制转换适用于指针和引用。以下两项工作都向下铸造

der d;
base& b = d;
der x = dynamic_cast<der&>(b);  -->A
der& y = dynamic_cast<der&>(b); -->B
x.method();
y.method();

我想知道A和B有什么区别

der x = dynamic_cast<der&>(b);

构造类型为 der 的对象,并使用 dynamic_cast<der&>(b) 对其进行初始化

该行

der& y = dynamic_cast<der&>(b);

只需初始化引用。

x.method();

对单独构造的对象调用method()

y.method();

调用对象method() y引用,这是d