Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Classe
Representa um mês de um ano. Por exemplo, julho.
Sintaxe
class month; // C++20
Comentários
Um month normalmente contém valores no intervalo [1, 12]. Ele também pode conter valores não negativos fora desse intervalo.
Confira Constantes de meses abaixo para obter constantes que você pode usar com a classe month.
Membros
| Nome | Descrição |
|---|---|
| Construtores | Construa um month. |
ok |
Verifique se o valor do mês está no intervalo válido [1,12]. |
operator++ |
Incremente o month. |
operator+= |
Adicione o número especificado de meses a esse month. |
operator-- |
Decremente o month. |
operator-= |
Subtraia o número especificado de meses desse month. |
operator unsigned |
Obtenha o valor month. |
Não membros
| Nome | Descrição |
|---|---|
from_stream |
Analise um month do fluxo fornecido usando o formato especificado. |
operator+ |
Adicione um número especificado de meses a esse month, retornando uma nova instância month. |
operator- |
Subtraia o número especificado de meses desse mês. Retorna uma nova instância de month. |
operator== |
Determine se dois meses são iguais. |
operator<=> |
Compare esse mês com outro mês. Os operadores >, >=, <=, <, != são sintetizados pelo compilador. |
operator<< |
Gerar um month para o fluxo fornecido. |
Requisitos
Cabeçalho: <chrono> (desde C++20)
Namespace: std::chrono
Opção do compilador: /std:c++latest
Construtores
Construa um month.
1) month() = default;
2) explicit constexpr month(unsigned m) noexcept;
Parâmetros
m
Construa um month com valor m.
Comentários
1) O construtor padrão não inicializa o valor do dia.
2) Construa um month com o valor do dia inicializado para m.
ok
Verifique se o valor armazenado neste month está no intervalo válido.
constexpr bool ok() const noexcept;
Valor retornado
true se o valor do mês estiver no intervalo [-1,12]. Caso contrário, false.
operator++
Incremente o valor do mês.
1) constexpr month& operator++() noexcept;
2) constexpr month operator++(int) noexcept;
Valor retornado
1) Uma referência ao mês *this depois que ele foi incrementado (um incremento de pós-fixação).
2) Uma cópia do month, antes de ter sido incrementado (um incremento de prefixo).
Exemplo: operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
month m{ January };
month m2{4}; // April
std::cout << m << " " << ++m << "\n"; // constexpr month& operator++() noexcept
std::cout << m << " " << m++ << "\n"; // constexpr month operator++(int) noexcept
std::cout << m << "\n";
std::cout << m2 << "\n";
return 0;
}
Jan Feb
Feb Feb
Mar
Apr
Comentários
Se o resultado exceder 12, ele será definido como 1.
operator--
Subtraia 1 do valor do mês.
1) constexpr month& operator--() noexcept;
2) constexpr month operator--(int) noexcept;
Valor retornado
1) Uma referência a *this month depois de ter sido decrementado (um decremento pós-fixado).
2) Uma cópia do antes de ter sido decrementado (um decréscimo de prefixo).month
Exemplo: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
month m{May};
cout << m << " " << --m << "\n"; // constexpr month& operator++() noexcept
cout << m << " " << m-- << "\n"; // constexpr month operator++(int) noexcept
cout << m << "\n";
return 0;
}
May Apr
Apr Apr
Mar
Comentários
Se o resultado reduzido for menor que -1, ele será definido como 12.
operator+=
Adicione meses a esse month.
constexpr month& operator+=(const months& m) noexcept;
Parâmetros
m
O número de meses a serem adicionados.
Valor retornado
*this
operator-=
Subtraia months desse month.
constexpr month& operator-=(const months& m) noexcept;
Parâmetros
m
Os meses a serem subtraídos.
Valor retornado
*this.
operator unsigned
Obtenha o valor sem sinal month.
explicit constexpr operator unsigned() const noexcept;
Valor retornado
O valor sem sinal desse month
Exemplo: operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
month m{July};
unsigned monthValue = static_cast<unsigned>(m);
std::cout << monthValue << "\n";
return 0;
}
7
Constantes de mês
(C++20) O cabeçalho <chrono> define as seguintes constantes que você pode usar com month para maior conveniência, segurança de tipos e facilidade de manutenção do seu código. Essas constantes estão no escopo quando std::chrono está no escopo.
// Calendrical constants
inline constexpr month January{1};
inline constexpr month February{2};
inline constexpr month March{3};
inline constexpr month April{4};
inline constexpr month May{5};
inline constexpr month June{6};
inline constexpr month July{7};
inline constexpr month August{8};
inline constexpr month September{9};
inline constexpr month October{10};
inline constexpr month November{11};
inline constexpr month December{12};
Confira também
<chrono>
Classe month_day
Classe month_day_last
Classe month_weekday
month_weekday_last classe