operator+, operator-(std::chrono::time_point)

来自cppreference.com
< cpp‎ | chrono‎ | time point


 
 
工具库
语言支持
类型支持(基本类型、RTTI)
库功能特性测试宏 (C++20)
动态内存管理
程序工具
协程支持 (C++20)
变参数函数
调试支持
(C++26)
三路比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)

 
 
 
在标头 <chrono> 定义
(1)
template< class C, class D1, class R2, class P2 >

time_point<C, typename std::common_type<D1, duration<R2,P2>>::type>
    operator+( const time_point<C,D1>& pt,

               const duration<R2,P2>& d );
(C++11 起)
(C++14 前)
template< class C, class D1, class R2, class P2 >

constexpr time_point<C, std::common_type_t<D1, duration<R2,P2>>>
    operator+( const time_point<C,D1>& pt,

               const duration<R2,P2>& d );
(C++14 起)
(2)
template< class R1, class P1, class C, class D2 >

time_point<C, typename std::common_type<duration<R1,P1>,D2>::type>
    operator+( const duration<R1,P1>& d,

               const time_point<C,D2>& pt );
(C++11 起)
(C++14 前)
template< class R1, class P1, class C, class D2 >

constexpr time_point<C, std::common_type_t<duration<R1,P1>,D2>>
    operator+( const duration<R1,P1>& d,

               const time_point<C,D2>& pt );
(C++14 起)
(3)
template< class C, class D1, class R2, class P2 >

time_point<C, typename std::common_type<D1, duration<R2,P2>>::type>
    operator-( const time_point<C,D1>& pt,

               const duration<R2,P2>& d );
(C++11 起)
(C++14 前)
template< class C, class D1, class R2, class P2 >

constexpr time_point<C, std::common_type_t<D1, duration<R2,P2>>>
    operator-( const time_point<C,D1>& pt,

               const duration<R2,P2>& d );
(C++14 起)
(4)
template< class C, class D1, class D2 >

typename std::common_type<D1,D2>::type
    operator-( const time_point<C,D1>& pt_lhs,

               const time_point<C,D2>& pt_rhs );
(C++11 起)
(C++14 前)
template< class C, class D1, class D2 >

constexpr std::common_type_t<D1,D2>
    operator-( const time_point<C,D1>& pt_lhs,

               const time_point<C,D2>& pt_rhs );
(C++14 起)

进行涉及 time_point 的加减运算。

1,2) 应用偏移 dpt。实际上即返回 CT(pt.time_since_epoch() + d),其中 CT 为返回类型。
3) 以负方向应用偏移 dpt。实际上即返回 CT(pt.time_since_epoch() - d),其中 CT 为返回类型。
4) 计算 pt_lhspt_rhs 之间的差。

参数

pt - 要应用偏移的时间点
d - 时间偏移
pt_lhs, pt_rhs - 用于提取差的时间点

返回值

1-3) 由应用偏移 d 产生的时间点。
4) 时间点之间的时长。

异常

可能会抛出由实现定义的异常。

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2739 C++11 pt - d 对无符号 duration 行为不规律 更正行为

参阅

以给定的 duration 修改 time_point
(公开成员函数)