何时std :: common_type与单个参数一起使用?

Yar*_*sky 2 c++ duration c++-chrono

我注意到std::chrono::durationlibcxx中实现的一元+和 - 运算符具有返回类型typename common_type<duration>::type.为什么它duration不像其他算术运算符那样简单?

小智 5

这是C++ 17的变化.文档p0548r1调整返回类型operator+operator-for duration包含:

constexpr common_type_t<duration> operator+() const; 
constexpr common_type_t<duration> operator-() const;
Run Code Online (Sandbox Code Playgroud)

显然common_type_t相当于common_type<duration>::type.理由基本上与二进制operator+operator-.