我如何在C ++ 20概念中要求类型T是对浮点类型的引用?

问题描述

在C ++ 20概念库中,存在std::floating_point<T>“仅当T是浮点类型时才满足”(screenshot_71)。但是我需要T成为浮点类型的引用。表示此的requires子句是什么?

解决方法

正如戴维斯在评论中所说,只需使用特征类型:

template <typename T>
concept is_floating_point_reference = 
    std::is_reference_v<T> &&
    std::floating_point<std::remove_reference_t<T>>;