命名空间
变体
操作

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 Clock, class Dur1, class Dur2 >

bool operator==( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator==( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
(2)
template< class Clock, class Dur1, class Dur2 >

bool operator!=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator!=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
(直到 C++20)
(3)
template< class Clock, class Dur1, class Dur2 >

bool operator<( const std::chrono::time_point<Clock,Dur1>& lhs,

                const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator<( const std::chrono::time_point<Clock,Dur1>& lhs,

                          const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
(4)
template< class Clock, class Dur1, class Dur2 >

bool operator<=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator<=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
(5)
template< class Clock, class Dur1, class Dur2 >

bool operator>( const std::chrono::time_point<Clock,Dur1>& lhs,

                const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator>( const std::chrono::time_point<Clock,Dur1>& lhs,

                          const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
(6)
template< class Clock, class Dur1, class Dur2 >

bool operator>=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++11 起)
(直到 C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator>=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(自 C++14 起)
template< class Clock, class Dur1, std::three_way_comparable_with<Dur1> Dur2 >

constexpr auto operator<=>( const std::chrono::time_point<Clock,Dur1>& lhs,

                            const std::chrono::time_point<Clock,Dur2>& rhs );
(7) (自 C++20 起)

比较两个时间点。比较是通过比较时间点的 time_since_epoch() 结果来完成的。

1,2) 检查时间点 lhsrhs 是否指的是给定时钟的相同时间点。
3-6) 比较时间点 lhsrhs
7) 比较时间点 lhsrhs。 返回类型由 lhs.time_since_epoch() <=> rhs.time_since_epoch() 推断,因此是 Dur1Dur2 的三路比较结果类型。

!= 运算符是 operator== 合成 的。

(自 C++20 起)

目录

[编辑] 参数

lhs, rhs - 要比较的时间点

[编辑] 返回值

1) 如果 lhsrhs 指向同一个时间点,则返回 true,否则返回 false
2) 如果 lhsrhs 指向不同的时间点,则返回 true,否则返回 false
3) 如果 lhs 指向的时间点在 rhs 之前,则返回 true,否则返回 false
4) 如果 lhs 指向的时间点在 rhs 之前,或与 rhs 相同,则返回 true,否则返回 false
5) 如果 lhs 指向的时间点在 rhs 之后,则返回 true,否则返回 false
6) 如果 lhs 指向的时间点在 rhs 之后,或与 rhs 相同,则返回 true,否则返回 false
7) lhs.time_since_epoch() <=> rhs.time_since_epoch().

[编辑] 异常

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

[编辑] 备注

在 C++11 中,time_point 的双向比较运算符不是 constexpr,这个问题在 C++14 中得到了修复。