std::numeric_limits<T>::is_specialized
来自cppreference.com
| (C++11 前) | ||
| (C++11 起) | ||
std::numeric_limits<T>::is_specialized 的值对所有存在 std::numeric_limits 特化的 T 是 true。
标准特化
T
|
std::numeric_limits<T>::is_specialized 的值
|
/* 未特化 */
|
false
|
bool
|
true
|
char
|
true
|
signed char
|
true
|
unsigned char
|
true
|
wchar_t
|
true
|
char8_t (C++20 起)
|
true
|
char16_t (C++11 起)
|
true
|
char32_t (C++11 起)
|
true
|
short
|
true
|
unsigned short
|
true
|
int
|
true
|
unsigned int
|
true
|
long
|
true
|
unsigned long
|
true
|
long long (C++11 起)
|
true
|
unsigned long long (C++11 起)
|
true
|
float
|
true
|
double
|
true
|
long double
|
true
|
示例
Run this code
#include <iostream>
#include <limits>
#include <type_traits>
int main()
{
enum E{};
std::cout << std::boolalpha
<< std::numeric_limits<bool>::is_specialized << '\n'
<< std::numeric_limits<long long>::is_specialized << '\n'
<< std::numeric_limits<std::true_type>::is_specialized << '\n'
<< std::numeric_limits<E>::is_specialized << '\n';
}
可能的输出:
true
true
false
false
参阅
[静态] |
鉴别整数类型 (公开静态成员常量) |
[静态] |
鉴别 IEC 559/IEEE 754 浮点数类型 (公开静态成员常量) |
[静态] |
鉴别准确表示的类型 (公开静态成员常量) |
[静态] |
鉴别表示有限值集合的类型 (公开静态成员常量) |