强制类型转换运算符—C++基础篇
2008-06-28 15:42
176 查看
VC++中的四种强制转换类型运算符,const_cast,reinterpret_cast,static_cast,dynamic_cast
1, static_cast<T*>(a)
将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。
表达式static_cast<T*>(a), a的值转换为模板中指定的类型T。在运行时转换过程中,不进行类型检查来确保转换的安全性
Fox example:
class B { ... };
class D : public B { ... };
void f(B* pb, D* pd)
{
D* pd2 = static_cast<D*>(pb); // 不安全, pb可能只是B的指针
B* pb2 = static_cast<B*>(pd); // 安全的
}
1, static_cast<T*>(a)
将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。
表达式static_cast<T*>(a), a的值转换为模板中指定的类型T。在运行时转换过程中,不进行类型检查来确保转换的安全性
Fox example:
class B { ... };
class D : public B { ... };
void f(B* pb, D* pd)
{
D* pd2 = static_cast<D*>(pb); // 不安全, pb可能只是B的指针
B* pb2 = static_cast<B*>(pd); // 安全的
}
相关文章推荐
- [读书笔记]C++基础知识温习:重载递增/减运算符
- C++四种强制类型转换运算符总结
- 《C++第八周实验报告1-1(3)》---在方案二的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算
- C++基础(三)—作用域运算符
- C++基础编程----4.2运算符
- C++四种强制类型转换运算符
- C++基础回顾-强制类型转换
- C++语言基础(24)-四种类型转换运算符(static_cast、dynamic_cast、const_cast和reinterpret_cast)
- C/C++基础笔试题1.1.1(运算符十问)
- 【C++的探索路9】<<、>>、++、--与 强制类型转换运算符
- C++语言基础 例程 重载双目运算符
- 【C++】强制类型转换运算符
- c++中的数据类型 运算符 和 表达式[c++ 基础(一)]
- C++四种强制类型转换运算符
- 《C++第八周实验报告1-1(2)》---在方案二的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算
- C++四种强制类型转换运算符
- 【C++基础】类型转换运算符的使用方法(reinterpret_cast、 const_cast、static_cast、dynamic_cast)
- [C++] 基础知识之3、C++中的运算符
- C++四种强制类型转换运算符
- C++ 基础知识点 一第2章 基本数据类型、运算符与表达式