C++boost库总结.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cboost库总结剖析

第1章 Boost程序库总论 使用Boost,将大大增强C++的功能和表现力 ? 第2章 时间与日期 timer提供毫秒级的计时精度,内部是通过std::clock取时间的 progress_timer自动打印某生命周期的执行时间 原则上程序库的代码是不应该被用户修改的 progress_display可以在控制台上显示程序的执行进度 date_time库能很好的表示日期时间概念,并能和C的时间结构tm进行友好互转 date类提供年月日和星期几的概念。data可通过from_string或from_undelimited_string从字符串解析而来,可通过to_simple_string、to_iso_string、to_extended_iso_string转换为字符串。(精度到天的DateTime) day_clock是精度到天的时钟 date_duration表示的是天精度的时间间隔概念,别名为days,另外还有years、months、weeks date_period表示两个date之间的日期区间(精度到天的TimeSpan) date_iterator、week_iterator、month_iterator和year_iterator是时间的迭代器 boost::greorian::gregorian_calendar中有实用静态方法:is_leap_year、end_of_month_day time_duration表示微妙或纳秒级的时间概念,几个实用子类:hours、minutes、seconds、millisec/milliseconds、microsec/microseconds、nanosec/nannoseconds duration_from_string可以从字符串解析time_duration ptime用来表示时间点,相当于date和time_duration的组合。可以用time_from_string或from_iso_string解析。(TimeSpan) ptime now1 = second_clock::local_time(); // 得到本地当前秒精度时间 ptime now2 = microsec_clock::universal_time(); // 得到本地当前微秒精度时间 time_period表示两个ptime之间的时间区间。(DateTime) 时间迭代器没有日期迭代器那么多,只有time_iterator一个 (boost时间日期库乱、破碎、过度设计) ? ?第3章 内存管理 scoped_ptr类似auto_ptr,但其一旦获得对象的管理权,你就无法再从它那里取回来。该智能指针只希望在本作用域里使用,不希望被转让。auto_ptr有意设计成所有权的自动转让,scoped_ptr有意设计成所有权的无法转让。scoped_ptr和auto_ptr均不能作为容器元素。 scoped_array包装的是new[]产生的指针,并调用的是delete[]。往往是用来和C代码保持兼容,一般不推荐使用 无论是编译器还是程序员都很难区分出new[]和new分配的空间,错误的运用delete将导致资源异常 在C++历史上曾经出现过无数的引用计数型智能指针实现,但没有一个比得上boost::shared_ptr,在过去、现在和将来,它都是最好的 shared_ptr支持的转型有:static_pointer_castT、const_pointer_castT、dynamic_pointer_castT,返回的结果是shared_ptr,并能保证这些指针的引用计数正确 用shared_ptr可以消除代码中显示的delete,用make_shared、allocate_shared可以消除代码中显示的new 桥接模式(bridge)是一种结构型设计模式,它把类的具体实现细节对用户隐藏起来,以达到类之间的最小耦合关系。在具体编程实践中桥接模式也被称为pimpl或者handle/body惯用法,它可以将头文件的依赖关系降到最小,减少编译时间,而且可以不使用虚函数实现多态 get_deleter(shared_ptrT const p)可以获得删除器。shared_ptr的删除器在处理某些特殊资源时非常有用,它使得用户可以定制、扩展shared_ptr的行为,使其不仅仅能够管理内存资源,而是称为一个“万能”的资源管理工具 对应shared_ptr,也有一个shared_array,scoped_array和shared_array均不对operator[]做下标检测 weak_ptr是为配合shared_ptr而引入的,更像是shared_ptr的一个助手而不是智能指针,其没有重载oper

您可能关注的文档

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档