持續時間的標準使用者定義文字
Version >= C++ 14
在 namespace
std::literals::chrono_literals
中宣告瞭以下持續時間使用者文字,其中 literals
和 chrono_literals
都是內聯名稱空間 。使用 using namespace std::literals
,using namespace std::chrono_literals
和 using namespace std::literals::chrono_literals
可以獲得對這些運算子的訪問。
#include <chrono>
#include <iostream>
int main()
{
using namespace std::literals::chrono_literals;
std::chrono::nanoseconds t1 = 600ns;
std::chrono::microseconds t2 = 42us;
std::chrono::milliseconds t3 = 51ms;
std::chrono::seconds t4 = 61s;
std::chrono::minutes t5 = 88min;
auto t6 = 2 * 0.5h;
auto total = t1 + t2 + t3 + t4 + t5 + t6;
std::cout.precision(13);
std::cout << total.count() << " nanoseconds" << std::endl; // 8941051042600 nanoseconds
std::cout << std::chrono::duration_cast<std::chrono::hours>(total).count()
<< " hours" << std::endl; // 2 hours
}