std::chrono::weekday:: operator+=, std::chrono::weekday:: operator-=
From cppreference.net
|
constexpr
std::
chrono
::
weekday
&
operator
+
=
(
const
std::
chrono
::
days
&
d
)
noexcept
;
|
(1) | (自 C++20 起) |
|
constexpr
std::
chrono
::
weekday
&
operator
-
=
(
const
std::
chrono
::
days
&
d
)
noexcept
;
|
(2) | (自 C++20 起) |
将工作日数值增加或减少
d.
count
(
)
,并将结果对7取模,最终得到范围在
[
0
,
6
]
之间的整数值。
1)
执行
*
this
=
*
this
+
d
;
。
2)
执行
*
this
=
*
this
-
d
;
。
目录 |
返回值
对此
weekday
修改后的引用。
注释
在调用这些函数之一后,若操作期间未发生溢出, ok() 将始终返回 true。
示例
运行此代码
#include <chrono> #include <iostream> int main() { std::cout << std::boolalpha; std::chrono::weekday wd{5}; // 星期五对应数值 5 wd += std::chrono::days(2); std::cout << (wd == std::chrono::weekday(0)) << ' ' << (wd == std::chrono::Sunday) << ' '; wd -= std::chrono::days(3); std::cout << (wd == std::chrono::weekday(4)) << ' ' << (wd == std::chrono::Thursday) << ' '; wd = std::chrono::Wednesday; wd += std::chrono::days{8}; // ((3 += 8 == 11) % 7) == 4; std::cout << (wd == std::chrono::Thursday) << ' '; wd -= (std::chrono::Sunday - std::chrono::Tuesday); // -= -2 // (4 -= -2) == 6 std::cout << (wd == std::chrono::Saturday) << '\n'; }
输出:
true true true true true true
参见
|
递增或递减 weekday 对象
(公开成员函数) |
|
|
(C++20)
|
对
weekday
对象执行算术运算
(函数) |