static_cast说明补充

This commit is contained in:
taynpg 2024-05-24 16:53:15 +08:00
parent 9d05181186
commit d4b8d5a533

View File

@ -124,12 +124,15 @@ void memory_use()
void FourTypeConvert()
{
// 1.static_cast:
// 没有动态类型检查,上行转换(派生类->基类)安全,下⾏转换(基类->派生类)
// 不安全,所以主要执行多态的转换操作
// 没有动态类型检查,上行转换(派生类->基类)安全,下行转换(基类->派生类)
// 不安全,所以主要执行多态的转换操作。用于在编译时进行类型转换不执行运行时类型检查。
// 2.dynamic_cast:专门于派生类之间的转换,type-id 必须是类指针,类引用或
// void*,对于下行转换是安全的,当类型不一致时,转换过来的是空指针
// 3.const_cast: 专门于 const 属性的转换,去除 const 性质,或增加 const
// 性质, 是四个转换符中唯一个可以操作常量的转换符。
// 4.reinterpret_cast:没有任何类型检查和格式转换,仅仅是简单的二进制数据拷贝。
}
@ -387,4 +390,4 @@ static void DemoC()
void template_relate()
{
// 1.类模板,顾名思义,类的模板。模板类,是一个类,实例化的类。
}
}