C++ chrono::operator-() Function



The std::chrono::operator-() function in C++, is used to subtract two chrono durations or time points. It allows you to calculate the difference between two time points or durations, returning a chrono duration representing the elapsed time.

Syntax

Following is the syntax for std::chrono::operator-() function.

constexpr duration operator-() const;

Parameters

This function does not accepts any parameters.

Return value

This function returns the copy of this duration object, with the number of ticks negated.

Example 1

In the following example, we are going to consider the basic usage of the operator-() function.

#include <iostream>
#include <chrono>
int main() {
   using namespace std::chrono;
   duration < int > x1(1);
   duration < int > x2(4);
   auto a = x1 - x2;
   std::cout << "Result : " << a.count() << " seconds\n";
   return 0;
}

Output

Output of the above code is as follows −

Result : -3 seconds

Example 2

Consider the following example, where we are going to subtract a duration from a system_clock time point.

#include <iostream>
#include <chrono>
int main() {
   using namespace std::chrono;
   auto x = system_clock::now();
   minutes y(10);
   auto z = x - y;
   std::time_t time = system_clock::to_time_t(z);
   std::cout << "Result : " << std::ctime( & time);
   return 0;
}

Output

Following is the output of the above code −

Result : Mon Nov 11 10:57:11 2024
cpp_chrono.htm
Advertisements