std::chrono::duration::max
De cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
static constexpr duration max(); |
(hasta C++20) | |
static constexpr duration max() noexcept; |
(desde C++20) | |
Devuelve una duración con el valor más alto posible.
Si la representación rep de la duración requiere que alguna otra implementación devuelva una duración de longitud máxima, std::chrono::duration_values puede especializarse para devolver el valor deseado.
Parámetros
(Ninguno)
Valor de retorno
Devuelve duration(std::chrono::duration_values<rep>::max()).
Ejemplo
Ejecuta este código
#include <chrono>
#include <iostream>
#include <iomanip>
#include <cstdint>
int main()
{
constexpr uint64_t chrono_years_max = std::chrono::years::max().count();
constexpr uint64_t chrono_seconds_max = std::chrono::seconds::max().count();
constexpr uint64_t age_of_universe_in_years{13'787'000'000}; //: λCDM ≈ k₁/H₀ = k₂/42.
constexpr uint64_t seconds_per_year{365'25 * 24 * 36}; // 365¼ × 24 × 60 × 60
constexpr uint64_t age_of_universe_in_seconds{age_of_universe_in_years * seconds_per_year};
std::cout
<< "La edad del universo es ≈ "
<< std::scientific << std::setprecision(2)
<< static_cast<double>(age_of_universe_in_years) << " años o "
<< static_cast<double>(age_of_universe_in_seconds) << " segundos.\n\n"
<< "chrono::years::max() = " << chrono_years_max << ", sizeof(chrono::years) = "
<< sizeof(std::chrono::years) << " bytes.\n" "chrono::years "
<< (age_of_universe_in_years <= chrono_years_max ? "PUEDE" : "NO PUEDE")
<< " retener la edad del universo en AÑOS.\n\n"
<< "chrono::seconds::max() = " << chrono_seconds_max << ", sizeof(chrono::seconds) = "
<< sizeof(std::chrono::seconds) << " bytes.\n" "chrono::seconds "
<< (age_of_universe_in_seconds <= chrono_seconds_max ? "PUEDE" : "NO PUEDE")
<< " retener la edad del universo en SEGUNDOS.\n";
}
Posible salida:
La edad del universo es ≈ 1.38e+10 años o 4.35e+17 segundos.
chrono::years::max() = 2147483647, sizeof(chrono::years) = 4 bytes.
chrono::years NO PUEDE retener la edad del universo en AÑOS.
chrono::seconds::max() = 9223372036854775807, sizeof(chrono::seconds) = 8 bytes.
chrono::seconds PUEDE retener la edad del universo en SEGUNDOS.
Véase también
[estático] |
Devuelve el valor de duración especial zero. (función miembro estática pública) |
[estático] |
Devuelve el valor de duración especial min. (función miembro estática pública) |