std::chrono:: operator+, std::chrono:: operator- (std::chrono::year)
|
constexpr
std::
chrono
::
year
operator
+
(
const
std::
chrono
::
year
&
y,
const std:: chrono :: years & ys ) noexcept ; |
(1) | (depuis C++20) |
|
constexpr
std::
chrono
::
year
operator
+
(
const
std::
chrono
::
years
&
ys,
const std:: chrono :: year & y ) noexcept ; |
(2) | (depuis C++20) |
|
constexpr
std::
chrono
::
year
operator
-
(
const
std::
chrono
::
year
&
y,
const std:: chrono :: years & ys ) noexcept ; |
(3) | (depuis C++20) |
|
constexpr
std::
chrono
::
years
operator
-
(
const
std::
chrono
::
year
&
y1,
const std:: chrono :: year & y2 ) noexcept ; |
(4) | (depuis C++20) |
Table des matières |
Valeur de retour
Notes
Si la valeur d'année résultante pour
(1-3)
est en dehors de l'intervalle
[
-
32767
,
32767
]
, la valeur réellement stockée n'est pas spécifiée.
Le résultat de la soustraction de deux valeurs de type
year
est une durée de type
std::chrono::years
. Cette unité de durée représente la longueur de l'année grégorienne moyenne, et la durée résultante n'a aucun rapport avec le nombre de jours dans les années particulières représentées par les opérandes. Par exemple, le résultat de
2018y
-
2017y
est
std::
chrono
::
years
(
1
)
, ce qui représente 365,2425 jours, et non 365 jours.
Exemple
#include <cassert> #include <chrono> int main() { std::chrono::year y{2020}; y = std::chrono::years(12) + y; // surcharge (2) : durée + point temporel assert(y == std::chrono::year(2032)); y = y - std::chrono::years(33); // surcharge (3) : point temporel - durée assert(y == std::chrono::year(1999)); // y = std::chrono::years(33) - y; // non supporté : durée - point temporel using namespace std::chrono; constexpr std::chrono::years ys = 2025y - 2020y; // surcharge (4) static_assert(ys == std::chrono::years(5)); }
Voir aussi
|
incrémente ou décrémente le mois
(fonction membre publique de
std::chrono::month
)
|
|
|
ajoute ou soustrait un nombre de mois
(fonction membre publique de
std::chrono::month
)
|