学习boost库的timer库和datetime库感受

概述:

    这是《Boost程序库完全开发指南》书中第一个介绍的库。将书中的代码实践了一遍,但感觉没想象中的那么好--可能是我的期望太高了吧。不过还是将学习的收获和感受记录下来。

学习:

·timer库:

    就是一个使用了C函数clock()的简单的计时器,可以参照源代码实现自己的计时器。而且在实践例子出现问题,就是linux平台上clock()函数计算的是cpu的时间,而使用sleep()和等待输入的情况并不占用CPU,所以会出现睡眠一段时间或长时间等待输入等情况下计时为0的情况。而基于timer的progress_timer也会出现这种情况。不过在windows平台就没这种顾虑。

    progress_display用于显示进度,因为是流输出的特点存在输出混乱的情况。

    timer,progress_timer和progress_displayer暂时还没有使用需求。就不做深入研究了。

·date-time库:

    需要编译的库。书中的例子没有敲一遍--在对timer库没有达到预期后发现还是快速学习想要的技术比这种从书开始翻到结尾更好。

    核心数据结构有:date,date_duration,date_period,迭代器和对应的时间time,time_duration,time_period,迭代器。其数据结构都可以跟C时间数据结构time_t和tm转换。

    感觉比较高级的技术是对月末日期、时区和日期时间的字符串化等处理技术。用到的时候在研究吧。

小结:

    在看书实践的时候,发现直接看源代码有时候更能加深理解。而且有时候技术也没有想象中的那么什么莫测。

    再接再厉。。。

原文地址:https://www.cnblogs.com/davidyang2415/p/2425802.html