库 Boost.Chrono 提供了多种时钟。例如,您可以获取当前时间,也可以测量流程中经过的时间。
Boost.Chrono 的部分内容已添加到 C++11。如果您的开发环境支持 C++11,您可以访问头文件 chrono.xml 中定义的多个时钟。但是,C++11 不支持某些功能,例如用于测量 CPU 时间的时钟。此外,只有 Boost.Chrono 支持用户定义的时间输出格式。
您可以通过头文件 boost/chrono.hpp 访问所有 Boost.Chrono 时钟。唯一的扩展是用户定义的格式,它需要头文件 boost/chrono_io.hpp。
例 37.1。来自 Boost.Chrono 的所有时钟
- #include <boost/chrono.hpp>
- #include <iostream>
-
- using namespace boost::chrono;
-
- int main()
- {
- std::cout << system_clock::now() << '\n';
- #ifdef BOOST_CHRONO_HAS_CLOCK_STEADY
- std::cout << steady_clock::now() << '\n';
- #endif
- std::cout << high_resolution_clock::now() << '\n';
-
- #ifdef BOOST_CHRONO_HAS_PROCESS_CLOCKS
- std::cout << process_real_cpu_clock::now() << '\n';
- std::cout << process_us