设为首页 加入收藏

TOP

4.3.5 工厂函数
2013-10-07 15:00:14 来源: 作者: 【 】 浏览:72
Tags:4.3.5 工厂 函数

4.3.5  工厂函数

optional提供一个类似make_pair()、make_shared()的工厂函数make_optional(),可以根据参数类型自动推导optional的类型,用来辅助创建optional对象。它的声明如下:

  1. optional<T> make_optional( T const& v );  
  2. optional<T > make_optional( bool condition, T const& v ); 

但make_optional()无法推导出T引用类型的optional对象,因此如果需要一个optional<T&>的对象,就不能使用make_optional()函数。

示范make_optional()函数用法的代码如下:

  1. #include <boost/optional.hpp> 
  2.  
  3. using namespace boost;  
  4. int main()  
  5. {  
  6.     BOOST_AUTO(x, make_optional(5));  
  7.     assert(*x == 5);  
  8.  
  9.     BOOST_AUTO(y, make_optional<double>((*x > 10), 1.0));  
  10.     assert(!y);  
  11. }  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.3.6 高级议题 下一篇4.7 tribool

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: