sdg*_*sdg 62 c++ null dynamic-cast
出于检查空指针的习惯,我有时写道:
MyClass * c = someBasePtr ? dynamic_cast<MyClass*>(someBasePtr) : 0;
if (c) {...
实际上,在传递给动态强制转换之前检查空指针,并检查返回.
然后我读了MSDN文档
通过dynamic_cast将空指针值转换为目标类型的空指针值.
然后我可以安全地删除?:构造.这个C++是可移植的吗?
这样新代码就可以了
MyClass * c = dynamic_cast<MyClass*>(someBasePtr);
if (c) {...
当然假设someBasePtr是null或有效,即不是疯狂指向垃圾......