命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | chrono‎ | 时间点
 
 
实用程序库
语言支持
类型支持 (基本类型, 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) 将偏移量 d 应用于 pt。实际上返回 CT(pt.time_since_epoch() + d),其中 CT 是返回类型。
3) 以负方向将偏移量 d 应用于 pt。实际上返回 CT(pt.time_since_epoch() - d),其中 CT 是返回类型。
4) 计算 pt_lhspt_rhs 之间的差值。

内容

[编辑] 参数

pt - 要应用偏移量的时间点
d - 时间偏移量
pt_lhs, pt_rhs - 要从中提取差值的时间点

[编辑] 返回值

1-3) 应用偏移量 d 后的时间点。
4) 时间点之间的持续时间。

[编辑] 异常

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

[编辑] 示例

[编辑] 缺陷报告

以下行为变更缺陷报告已追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布的行为 正确行为
LWG 2739 C++11 pt - d 对无符号 duration 类型的行为不稳定 行为已修正

[编辑] 参见

通过给定持续时间修改时间点
(公有成员函数) [编辑]