随笔 - 11  文章 - 0  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿

随笔分类

随笔档案

相册

关注

网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜

C++有四种类型转换操作符:static_cast、const_cast、dynamic_cast、reinterpret_cast。
1>. static_cast普通转换,如double转int:
1 double a = 10; 2 int b = static_cast<int>(a);
2>. const_cast改变const或者volatile属性:
1 const char* szA = "test"; 2 char* szB = const_cast<char*>(szA);
3>. dynamic_cast把指向基类的指针或引用转换成指向派生类或者基类的兄弟类的指针或引用:
1 class Base 2 { 3 public: 4 virtual void test(){} //基类必须有虚函数 5 }; 6 7 class Child : public Base 8 { 9 public: 10 void print(){ cout << "child::base" << endl; } 11 }; 12 13 Base* pBase = new Base(); 14 Child* pChild = dynamic_cast<Child*>(pBase); 15 pChild->print();
4>. reinterpret_cast用来在函数指针之间进行类型转换
1 typedef void (*FuncPtr)(); 2 FuncPtr funcPtrArray[10]; 3 int doSomeing(){return 0;} 4 5 funcPtrArray[0] = reinterpret_cast<FuncPtr>(&doSomeing);
posted @ 2011-03-07 14:28 郭小帅 阅读(304) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-03-05 20:24 郭小帅 阅读(593) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-03-01 22:51 郭小帅 阅读(552) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-03-01 21:15 郭小帅 阅读(1443) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-27 21:30 郭小帅 阅读(2287) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-27 17:23 郭小帅 阅读(464) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-27 16:30 郭小帅 阅读(395) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-27 14:26 郭小帅 阅读(565) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-26 18:33 郭小帅 阅读(1933) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2010-02-26 17:27 郭小帅 阅读(1362) | 评论 (0)编辑 收藏
仅列出标题  下一页