dynamic_cast和static_cast效率测试
来源:互联网 发布:雀神软件 编辑:程序博客网 时间:2024/06/06 04:08
class A{public:A(){}virtual ~A(){}int i;};class B:public A{public:B(){}virtual ~B(){}int j;};int main(){B* pB = new B;A* pA;int st1 = GetTickCount();for(int i=0;i!=100000000;i++){ pA = static_cast<A*>(pB);}B* pBB;int en1 = GetTickCount();for(int i=0;i!=100000000;i++){pBB= dynamic_cast<B*>(pA);} int en2 = GetTickCount();cout<<"static_cast:"<<(en1-st1)<<endl;cout<<"dynamic_cast:"<<(en2-en1)<<endl;system("pause");return 0;}
测试结果如图
结论:因为dynamic_cast有安全监测,效率大打折扣,建议子类转父类这种安全转换用static_cast,反之如果没有效率需求用dynamic_cast更安全
测试环境 vs2010 win7。
0 0
- dynamic_cast和static_cast效率测试
- type_cast、static_cast和dynamic_cast
- static_cast,dynamic_cast和reinterpret_cast
- static_cast和dynamic_cast
- dynamic_cast和static_cast
- static_cast, dynamic_cast和reinterpret_cast
- static_cast 和 dynamic_cast 区别
- static_cast, dynamic_cast和reinterpret_cast
- dynamic_cast和static_cast
- static_cast 和dynamic_cast区别
- dynamic_cast和static_cast
- dynamic_cast和static_cast
- C++ dynamic_cast和static_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
- Ulead GIF Animator制作滚动的文字条幅,循环滚动
- TOR源码分析交流群 188088782
- Angular 学习之 filter
- Codeforces Round #301 (Div. 2) -E(逆序对问题)
- 杭电1071 The area
- dynamic_cast和static_cast效率测试
- table正确显示全部边框的css样式
- tomcat的好文章
- OpenGL超级宝典笔记二 - 基础变换
- 按钮水波效果
- RSA大会指引信息安全行业新方向
- 第34课第一题
- Spring定时器在SSH框架中的应用之---Java Timer调度器
- 【C语言基础】结构体指针