C++
应用 | Utilities

std::literals::chrono_literals::operator""h

科技促进发展:文字:[医]文字::运算符“h”

Defined in header
constexpr chrono::hours operator "" h(unsigned long long hrs(1)(since C++14)
constexpr chrono::duration</*unspecified*/, std::ratio<3600,1>> operator "" h(long double hrs(2)(since C++14)

形成std::chrono::duration文字代表小时。

1%29整数字面值,准确返回std::chrono::hours(hrs)

2%29浮点文字,返回相等于std::chrono::hours

参数

hrs-the number of hours

返回值

std::chrono::duration字面上的。

可能的实施

参数::time::时程操作符::h%28无符号长h%29{返回std::时程::小时数%28h%29;}conexpr std::time::timeo::time::time<3600,1>操作符“h%28long Double h%29”{back:std:crono::工期<长双,std::比<3600,1>%28h%29;}

*。

注记

这些运算符在命名空间中声明。std::literals::chrono_literals,两者都是literalschrono_literals是内联命名空间。可以通过以下方式访问这些操作员using namespace std::literals,,,using namespace std::chrono_literals,和using namespace std::literals::chrono_literals...

此外,在命名空间中std::chrono,指令using namespace literals::chrono_literals;由标准库提供,因此如果程序员使用using namespace std::chrono;要获得对工期类的访问权限,工期文字运算符也会变得可见。

二次

#include <iostream> #include <chrono> int main() { using namespace std::chrono_literals; auto day = 24h; auto halfhour = 0.5h; std::cout << "one day is " << day.count() << " hours\n" << "half an hour is " << halfhour.count() << " hours\n"; }

二次

产出:

二次

one day is 24 hours half an hour is 0.5 hours

二次

另见

(constructor)constructs new duration (public member function of std::chrono::duration)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/chrono/Operator[医]q[医][医]q[医]H型