本文共 992 字,大约阅读时间需要 3 分钟。
这个库比较简单,看例子就明白啦
namespace boost { templateinline 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); ...
#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/