|
|
|
Defined in header <concepts> | ||
template<class T> concept floating_point=std::is_floating_point_v<T>; | (since C++20) | |
The conceptfloating_point<T> is satisfied if and only ifT
is a floating-point type.
#include <concepts>#include <iostream>#include <type_traits> constexpr std::floating_pointauto x2(std::floating_pointauto x){return x+ x;} constexprstd::integralauto x2(std::integralauto x){return x<<1;} int main(){constexprauto d= x2(1.1); static_assert(std::is_same_v<doubleconst, decltype(d)>);std::cout<< d<<'\n'; constexprauto f= x2(2.2f); static_assert(std::is_same_v<floatconst, decltype(f)>);std::cout<< f<<'\n'; constexprauto i= x2(444); static_assert(std::is_same_v<intconst, decltype(i)>);std::cout<< i<<'\n';}
Output:
2.24.4888
(C++11) | checks if a type is a floating-point type (class template)[edit] |