std::is_arithmetic
Da cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <type_traits> | ||
template<class T > struct is_arithmetic; | (desde C++11) | |
If T
is an arithmetic type (that is, an integral type or a floating-point type), provides the member constant value
equal true. For any other type, value
is false.
Índice |
Herdado de std::integral_constant
Member constants
value [estática] | true se T is an arithmetic type , false contrário Original: true if T is an arithmetic type , false otherwise The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (membro estático público constante) |
Member functions
operator bool | converte o objeto em bool, retorna value Original: converts the object to bool, returns value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |
Member types
Tipo Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | Definition |
value_type | bool |
type | std::integral_constant<bool, value> |
[editar]Notas
Arithmetic types are the types for which the built-in operadores aritméticos (+, -, *, /) are defined (possibly in combination with the usual arithmetic conversions)
Specializations of std::numeric_limits are provided for all arithmetic types.
[editar]Possível implementação
template<class T >struct is_arithmetic :std::integral_constant<bool, std::is_integral<T>::value||std::is_floating_point<T>::value>{}; |
[editar]Exemplo
#include <iostream>#include <type_traits> class A {}; int main(){std::cout<<std::boolalpha;std::cout<< std::is_arithmetic<A>::value<<'\n';std::cout<< std::is_arithmetic<int>::value<<'\n';std::cout<< std::is_arithmetic<int&>::value<<'\n';std::cout<< std::is_arithmetic<int*>::value<<'\n';std::cout<< std::is_arithmetic<float>::value<<'\n';std::cout<< std::is_arithmetic<float&>::value<<'\n';std::cout<< std::is_arithmetic<float*>::value<<'\n';}
Saída:
false true false false true false false
[editar]Veja também
(C++11) | verifica se um tipo é tipo integral Original: checks if a type is integral type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de classe) |
(C++11) | verifica se um tipo é tipo de ponto flutuante Original: checks if a type is floating-point type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de classe) |