std::chrono:: operator+, std::chrono:: operator- (std::chrono::month)
|
Défini dans l'en-tête
<chrono>
|
||
|
constexpr
std::
chrono
::
month
operator
+
(
const
std::
chrono
::
month
&
m,
const std:: chrono :: months & ms ) noexcept ; |
(1) | (depuis C++20) |
|
constexpr
std::
chrono
::
month
operator
+
(
const
std::
chrono
::
months
&
ms,
const std:: chrono :: month & m ) noexcept ; |
(2) | (depuis C++20) |
|
constexpr
std::
chrono
::
month
operator
-
(
const
std::
chrono
::
month
&
m,
const std:: chrono :: months & ms ) noexcept ; |
(3) | (depuis C++20) |
|
constexpr
std::
chrono
::
months
operator
-
(
const
std::
chrono
::
month
&
m1,
const std:: chrono :: month & m2 ) noexcept ; |
(4) | (depuis C++20) |
[
0
,
11
]
, puis en ajoutant 1.
[
0
,
11
]
et
m2
+
m
==
m1
. Sinon, la valeur retournée est non spécifiée.
Table des matières |
Valeur de retour
Notes
Tant que le calcul ne provoque pas de dépassement, (1-3) retourne toujours un mois valide même si m. ok ( ) est false .
Le résultat de la soustraction de deux valeurs de type
month
est une durée de type
std::chrono::months
. Cette unité de durée représente la longueur moyenne d'un mois grégorien, et la durée résultante n'a aucun lien avec le nombre de jours dans les mois spécifiques représentés par les opérandes. Par exemple,
std::
chrono
::
seconds
(
std::
chrono
::
April
-
std::
chrono
::
March
)
n'est pas le nombre de secondes en mars (
2678400s
), mais
2629746s
(30,436875 jours).
Exemple
#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)); }
Voir aussi
|
incrémente ou décrémente le mois
(fonction membre publique) |
|
|
ajoute ou soustrait un nombre de mois
(fonction membre publique) |