std::literals::chrono_literals::operator""d
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <chrono>
|
||
constexpr std::chrono::day operator ""d( unsigned long long d ) noexcept; |
(начиная с C++20) | |
Формирует литерал std::chrono::day, представляющий день месяца в календаре.
Параметры
| d | — | значение дня |
Возвращаемое значение
std::chrono::day, хранящий d. Если d > 255, сохранённое значение не определено.
Возможная реализация
constexpr std::chrono::day operator ""d(unsigned long long d) noexcept
{
return std::chrono::day(d);
}
|
Примечание
Этот оператор объявлен в пространстве имён std::literals::chrono_literals, где и literals, и chrono_literals это встроенные пространства имён. Доступ к этому оператору можно получить с помощью:
using namespace std::literals,using namespace std::chrono_literals, илиusing namespace std::literals::chrono_literals.
Кроме того, в пространстве имён std::chrono стандартная библиотека предоставляет директиву using namespace literals::chrono_literals;, поэтому, если программист использует using namespace std::chrono; чтобы получить доступ к классам в библиотеке chrono, соответствующие литеральные операторы также становятся видимыми.
Пример
Запустить этот код
#include <chrono>
#include <iostream>
int main()
{
using namespace std::literals::chrono_literals;
std::cout << static_cast<unsigned>(42d) << '\t' << 42d << '\n'
<< static_cast<unsigned>(256d) << '\t' << 256d << '\n' // не указано
<< static_cast<unsigned>(298d) << '\t' << 298d << '\n'; // не указано
}
Возможный вывод:
42 42 is not a valid day
0 00 is not a valid day
42 42 is not a valid day
Смотрите также
создаёт day (public функция-элемент std::chrono::day)
| |
| извлекает сохранённое значение дня (public функция-элемент std::chrono::day)
|