diff --git a/cppbase/grammar/grammar.cpp b/cppbase/grammar/grammar.cpp index 7b7b968..e2a9f7b 100644 --- a/cppbase/grammar/grammar.cpp +++ b/cppbase/grammar/grammar.cpp @@ -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.类模板,顾名思义,类的模板。模板类,是一个类,实例化的类。 -} \ No newline at end of file +}