std::chrono:: operator+, std::chrono:: operator- (std::chrono::day)
From cppreference.net
|
定义于头文件
<chrono>
|
||
|
constexpr
std::
chrono
::
day
operator
+
(
const
std::
chrono
::
day
&
d,
const std:: chrono :: days & ds ) noexcept ; |
(1) | (C++20 起) |
|
constexpr
std::
chrono
::
day
operator
+
(
const
std::
chrono
::
days
&
ds,
const std:: chrono :: day & d ) noexcept ; |
(2) | (C++20 起) |
|
constexpr
std::
chrono
::
day
operator
-
(
const
std::
chrono
::
day
&
d,
const std:: chrono :: days & ds ) noexcept ; |
(3) | (C++20 起) |
|
constexpr
std::
chrono
::
days
operator
-
(
const
std::
chrono
::
day
&
x,
const std:: chrono :: day & y ) noexcept ; |
(4) | (C++20 起) |
1,2)
向
d
添加
ds.
count
(
)
天。
3)
从
d
中减去
ds.
count
(
)
天。
4)
计算两个
day
x
与
y
之间相差的天数。
目录 |
返回值
1,2)
std::
chrono
::
day
(
unsigned
(
d
)
+
ds.
count
(
)
)
3)
std::
chrono
::
day
(
unsigned
(
d
)
-
ds.
count
(
)
)
4)
std::
chrono
::
days
(
int
(
unsigned
(
x
)
)
-
int
(
unsigned
(
y
)
)
)
注释
1-3)
若结果超出范围
[
0
,
255
]
,实际存储的值是未指定的。
示例
运行此代码
#include <cassert> #include <chrono> int main() { std::chrono::day d{15}; d = d + std::chrono::days(2); assert(d == std::chrono::day(17)); d = d - std::chrono::days(3); assert(d == std::chrono::day(14)); constexpr std::chrono::days ds = std::chrono::day(16) - std::chrono::day(14); static_assert(ds == std::chrono::days(2)); }
参见
|
递增或递减日期值
(公开成员函数) |
|
|
增加或减少指定天数
(公开成员函数) |