std::is_scalar
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_scalar; |
(desde C++11) | |
Se
T
é um tipo escalar (isto é, tipo de aritmética, tipo de enumeração, ponteiro, ponteiro para membro, ou std::nullptr_t, incluindo as variantes cv-qualificados), fornece o membro constante value
true igual. Para qualquer outro tipo, é value
false.Original:
If
T
is a scalar type (that is, arithmetic type, enumeration type, pointer, pointer to member, or std::nullptr_t, including any cv-qualified variants), provides the member constant value
equal true. For any other type, value
is false.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Índice |
Herdado de std::integral_constant
Member constants
value [estática] |
true se T is a scalar type , false contrário Original: true if T is a scalar 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
Cada localização de memória individual no modelo de memória C + +, incluindo os locais de memória ocultos utilizados por recursos de linguagem (por exemplo, ponteiro da tabela virtual), tem tipo escalar (ou é uma seqüência de adjacentes campos de bit de não-comprimento zero). Sequenciamento de efeitos colaterais na avaliação da expressão, sincronização interthread e dependência ordenação são definidos em termos de objetos escalares individuais.
Original:
Each individual memory location in the C++ memory model, including the hidden memory locations used by language features (e.g virtual table pointer), has scalar type (or is a sequence of adjacent bit-fields of non-zero length). Sequencing of side-effects in expression evaluation, interthread synchronization, and dependency ordering are all defined in terms of individual scalar objects.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Possível implementação
template< class T > struct is_scalar : std::integral_constant<bool, std::is_arithmetic<T>::value || std::is_enum<T>::value || std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_same<std::nullptr_t, typename std::remove_cv<T>::type>::value> {}; |
[editar] Exemplo
Saída:
T is scalar T is not a scalar
[editar] Veja também
(C++11) |
verifica se um tipo é o tipo de aritmética Original: checks if a type is arithmetic 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 o tipo é um tipo de enumeração Original: checks if a type is an enumeration 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 é um tipo de ponteiro Original: checks if a type is a pointer 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) |
checks if a type is a pointer to a non-static member function or object (modelo de classe) |