在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更安全。
例如:
namespace db
{
class CPet
{
public:
const std::string Compress();
};
}
std::string str;
for(iterator iter = Begin(); iter != End(); ++iter)
{
db::CPet *pPet = dynamic_cast<db::CPet*>(iter->second);
str += pPet->Compress();
str += LINE_SPLIT;
}