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) | (desde C++20) |
|
constexpr
std::
chrono
::
year
operator
+
(
const
std::
chrono
::
years
&
ys,
const std:: chrono :: year & y ) noexcept ; |
(2) | (desde C++20) |
|
constexpr
std::
chrono
::
year
operator
-
(
const
std::
chrono
::
year
&
y,
const std:: chrono :: years & ys ) noexcept ; |
(3) | (desde C++20) |
|
constexpr
std::
chrono
::
years
operator
-
(
const
std::
chrono
::
year
&
y1,
const std:: chrono :: year & y2 ) noexcept ; |
(4) | (desde C++20) |
Contenidos |
Valor de retorno
Notas
Si el valor resultante del año para
(1-3)
está fuera del rango
[
-
32767
,
32767
]
, el valor real almacenado no está especificado.
El resultado de restar dos valores de tipo
year
es una duración de tipo
std::chrono::years
. Esta unidad de duración representa la longitud del año gregoriano promedio, y la duración resultante no guarda relación con el número de días en los años particulares representados por los operandos. Por ejemplo, el resultado de
2018y
-
2017y
es
std::
chrono
::
years
(
1
)
, que representa 365.2425 días, no 365 días.
Ejemplo
#include <cassert> #include <chrono> int main() { std::chrono::year y{2020}; y = std::chrono::years(12) + y; // sobrecarga (2): duración + punto temporal assert(y == std::chrono::year(2032)); y = y - std::chrono::years(33); // sobrecarga (3): punto temporal - duración assert(y == std::chrono::year(1999)); // y = std::chrono::years(33) - y; // no soportado: duración - punto temporal using namespace std::chrono; constexpr std::chrono::years ys = 2025y - 2020y; // sobrecarga (4) static_assert(ys == std::chrono::years(5)); }
Véase también
|
incrementa o decrementa el mes
(función miembro pública de
std::chrono::month
)
|
|
|
suma o resta un número de meses
(función miembro pública de
std::chrono::month
)
|