std::chrono:: operator+, std::chrono:: operator- (std::chrono::month)
|
Definiert in Header
<chrono>
|
||
|
constexpr
std::
chrono
::
month
operator
+
(
const
std::
chrono
::
month
&
m,
const std:: chrono :: months & ms ) noexcept ; |
(1) | (seit C++20) |
|
constexpr
std::
chrono
::
month
operator
+
(
const
std::
chrono
::
months
&
ms,
const std:: chrono :: month & m ) noexcept ; |
(2) | (seit C++20) |
|
constexpr
std::
chrono
::
month
operator
-
(
const
std::
chrono
::
month
&
m,
const std:: chrono :: months & ms ) noexcept ; |
(3) | (seit C++20) |
|
constexpr
std::
chrono
::
months
operator
-
(
const
std::
chrono
::
month
&
m1,
const std:: chrono :: month & m2 ) noexcept ; |
(4) | (seit C++20) |
[
0
,
11
]
reduziert wird und dann 1 addiert wird.
[
0
,
11
]
liegt und
m2
+
m
==
m1
. Andernfalls ist der zurückgegebene Wert nicht spezifiziert.
Inhaltsverzeichnis |
Rückgabewert
Hinweise
Solange die Berechnung keinen Überlauf verursacht, (1-3) liefert immer einen gültigen Monat, selbst wenn m. ok ( ) false ist.
Das Ergebnis der Subtraktion zweier
month
-Werte ist eine Dauer vom Typ
std::chrono::months
. Diese Dauer-Einheit repräsentiert die Länge des durchschnittlichen gregorianischen Monats, und die resultierende Dauer steht in keiner Beziehung zur Anzahl der Tage in den spezifischen Monaten, die durch die Operanden dargestellt werden. Zum Beispiel ist
std::
chrono
::
seconds
(
std::
chrono
::
April
-
std::
chrono
::
March
)
nicht die Anzahl der Sekunden im März (
2678400s
), sondern
2629746s
(30,436875 Tage).
Beispiel
#include <cassert> #include <chrono> int main() { std::chrono::month m{6}; m = m + std::chrono::months(2); assert(m == std::chrono::month(8)); m = m - std::chrono::months(3); assert(m == std::chrono::month(5)); constexpr std::chrono::months ms = std::chrono::month(8) - std::chrono::month(6); static_assert(ms == std::chrono::months(2)); }
Siehe auch
|
erhöht oder verringert den Monat
(öffentliche Elementfunktion) |
|
|
addiert oder subtrahiert eine Anzahl von Monaten
(öffentliche Elementfunktion) |