Spec-Zone.ru › C++

std::chrono::duration<Rep,Period>::operator+(унарный), std::chrono::duration<Rep,Period>::operator-(унарный)

constexpr duration operator+() const;
(1) (до C++17)
constexpr std::common_type_t<duration> operator+() const;
(начиная с C++17)
constexpr duration operator-() const;
(2) (до C++17)
constexpr std::common_type_t<duration> operator-() const;
(начиная с C++17)

Реализует унарные операторы плюса и минуса для длительностей.

Если rep_ является переменной-членом, содержащей количество тактов в объекте длительности, а D является возвращаемым типом,

1) Эквивалентно return D(*this);.
2) Эквивалентно return D(-rep_);.

Параметры

(нет)

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

1) Копия этого объекта длительности.
2) Копия этого объекта длительности с противоположным знаком количества тактов.

Пример

#include <chrono>
#include <iostream>
 
int main()
{
    constexpr std::chrono::seconds s1(-052);
    constexpr std::chrono::seconds s2 = -s1;
 
    std::cout << "Negated " << s1 << " are " << s2 << '\n';
}

Вывод:

Negated -42s are 42s

См. также

operator++operator++(int)operator--operator--(int)
увеличивает или уменьшает количество тактов
(открытая функция-член)
operator+operator-operator*operator/operator%
(C++11)
реализует арифметические операции с длительностями в качестве аргументов
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/duration/operator_arith

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API