dynamic_cast坑爹的一面?
- C/C++ code
RECT *pRect = new RECT;RECT *pDynResult = dynamic_cast<RECT*>(pRect); // pDynResult == pRect,正常delete pRect;pDynResult = dynamic_cast<RECT*>(pRect); // pDynResult == ?你猜猜?
[解决办法]
[解决办法]
只能说明C++是种较为宽容的语言,省去了很多编译期和运行期的检查。不是很安全。
其他更为安全的语言会在运行期甚至是编译器检查出这种错误。而不会让程序崩溃或者
获得不可预知的结果。表明的是C++及C语言坑爹的一面。