p2 = NULL;
try
{
p2 = dynamic_cast<A *>(p1);
}
catch (...) {}
if (!p2)
cout << "Bad cast".
另外两种cast不太常用reinterpret_cast提供很少的保护,几乎和C的cast差不多。const_cast得到最开始的变量的指针,能够用来改变常量的配置。这不是个好习惯,能不用最好不用。
smart pointer C 中一个很有用的概念,他对内存的管理起到了很大的帮助。由于内容比较多,回头我会写一篇周详的总结。



