博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost学习-3.conversion,多态类型之间的安全转型,与数据类型转换
阅读量:4045 次
发布时间:2019-05-24

本文共 992 字,大约阅读时间需要 3 分钟。

这个库比较简单,看例子就明白啦

 

1.多态类型之间的安全转型

 

polymorphic_cast 和 polymorphic_downcast 

 

 

namespace boost {
template
inline Derived polymorphic_cast(Base* x); // 抛出: std::bad_cast 如果 ( dynamic_cast
(x) == 0 ) // 返回: dynamic_cast
(x) template
inline Derived polymorphic_downcast(Base* x); // 效果: assert( dynamic_cast
(x) == x ); // 返回: static_cast
(x) }

#include 
... class Fruit { public: virtual ~Fruit(){}; ... }; class Banana : public Fruit { ... }; ... void f( Fruit * fruit ) {
// ... 我们确信 fruit 是一个 Banana Banana * banana = boost::polymorphic_downcast
(fruit); ...

2.数据类型转换

lexical_cast<>

 

#include 
#include 
using namespace boost;
using namespace std;
int main()
{
int i = lexical_cast
("123444");
cout<<"i="<<
 
string s = lexical_cast
(i);
cout<<"string s = "<<
 
double d1 = 1.345678900;
s = lexical_cast
(d1);
cout<<"string s = "<<
 
return 0;
}

 

 

 

转载地址:http://wrgdi.baihongyu.com/

你可能感兴趣的文章
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>