C++ 铸造一个指针和一个参考的好处?

C++ 铸造一个指针和一个参考的好处?,c++,dynamic-cast,C++,Dynamic Cast,假设我有以下两种说法 base* b = ...; fnl * c = dynamic_cast<fnl*>(b); //Statement A fnl& d = dynamic_cast<fnl&>(*b); //Statement B base*b=。。。; fnl*c=动态铸造(b)//报表A fnl&d=动态铸造(*b)//报表B 我想确切地知道语句A和语句B之间的区别是什么。我理解语句A强制转换并返回指针,而语句B返回引用。在A的情况下,是否

假设我有以下两种说法

base* b = ...;
fnl * c = dynamic_cast<fnl*>(b); //Statement A
fnl& d = dynamic_cast<fnl&>(*b); //Statement B
base*b=。。。;
fnl*c=动态铸造(b)//报表A
fnl&d=动态铸造(*b)//报表B

我想确切地知道语句A和语句B之间的区别是什么。我理解语句A强制转换并返回指针,而语句B返回引用。在A的情况下,是否由用户释放c的内存

如果强制转换失败,第一次调用将返回NULL。第二个调用将引发异常


从来没有任何额外的拨款,所以没有免费的。也就是说,现在只有一个对象被3个变量引用。你只能释放它一次。从技术上讲,使用哪个变量无关紧要,但为了理智起见,尽量避免混淆。

释放与任何事情有什么关系?!c是一个指针,我不知道是否有必要删除它不知道为什么-ve投票