Namespaces
Variants

std::chrono:: operator+, std::chrono:: operator- (std::chrono::day)

From cppreference.net
< cpp ‎ | chrono ‎ | day
Определено в заголовочном файле <chrono>
constexpr std:: chrono :: day operator + ( const std:: chrono :: day & d,
const std:: chrono :: days & ds ) noexcept ;
(1) (начиная с C++20)
constexpr std:: chrono :: day operator + ( const std:: chrono :: days & ds,
const std:: chrono :: day & d ) noexcept ;
(2) (начиная с C++20)
constexpr std:: chrono :: day operator - ( const std:: chrono :: day & d,
const std:: chrono :: days & ds ) noexcept ;
(3) (начиная с C++20)
constexpr std:: chrono :: days operator - ( const std:: chrono :: day & x,
const std:: chrono :: day & y ) noexcept ;
(4) (начиная с C++20)
1,2) Добавляет ds. count ( ) дней к d .
3) Вычитает ds. count ( ) дней из d .
4) Вычислите разницу в днях между двумя day x и y .

Содержание

Возвращаемое значение

1,2) std:: chrono :: day ( unsigned ( d ) + ds. count ( ) )
3) std:: chrono :: day ( unsigned ( d ) - ds. count ( ) )
4) std:: chrono :: days ( int ( unsigned ( x ) ) - int ( unsigned ( y ) ) )

Примечания

1-3) Если результат выходит за пределы диапазона [ 0 , 255 ] , фактическое сохраняемое значение не определено.

Пример

#include <cassert>
#include <chrono>
int main()
{
    std::chrono::day d{15};
    d = d + std::chrono::days(2);
    assert(d == std::chrono::day(17));
    d = d - std::chrono::days(3);
    assert(d == std::chrono::day(14));
    constexpr std::chrono::days ds = std::chrono::day(16) - std::chrono::day(14);
    static_assert(ds == std::chrono::days(2));
}

Смотрите также

увеличивает или уменьшает день
(public member function)
добавляет или вычитает количество дней
(public member function)