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