关于const_cast, static_cast, dynamic_cast和reinterpret_cast
来源:互联网 发布:lol for mac 汉化 编辑:程序博客网 时间:2024/06/07 03:29
1. const_cast用来移除对象的const属性,也是唯一有此能力的C++-style转型操作符,但是不能为对象添加const属性;
2. static_cast用于完成编译器隐式执行的类型转化,可以将non-const对象转化为const对象,或将int转为double等等;
3. dynamic_cast支持运行时识别指针或引用所指向的对象,主要用来执行“安全向下转型”,也就是用来决定某对象是否归属继承体系中的某个类型,它是唯一无法由旧式语法执行的动作,也是唯一可能耗费重大运行成本的转型动作。可以使用它将基类类型的指针或引用转化为派生类的指针或引用,这样的操作通常比较危险,最好用虚函数替代。
4. reinterpret_cast通常为操作数的为模式提供较低层次的重新解释,实际结果可能取决于编译器,这也就表示它不可移植,它是将操作数按位解释为另一类型的数据,如将一个pointer to int型转为一个int。
- 关于const_cast, static_cast, dynamic_cast和reinterpret_cast
- 关于static_cast、dynamic_cast、const_cast、reinterpret_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- dynamic_cast、static_cast、const_cast 和 reinterpret_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 关于复制控制
- 关于操作符重载
- 关于头文件内容的讨论
- 关于const对象的讨论
- 关于size_t, ptrdiff_t, size_type, difference_type
- 关于const_cast, static_cast, dynamic_cast和reinterpret_cast
- emacs解除read-only的buffer锁定
- 微博力是CRM的最后一百米?
- C# 屏蔽系统热键
- 3.12如何使 框架窗口 的大小不可改变?
- 打开Sql数据库文件(扩展名为mdf)
- XML文档的显示-CSS
- (转)FLEX树组件使用技巧
- .NET 分布式架构开发实战之一 故事起源