Espaços nominais
Variantes
Acções

std::numeric_limits::is_modulo

Da cppreference.com

 
 
Biblioteca de utilitários
Digite apoio (basic types, RTTI, type traits)
Gerenciamento de memória dinâmica
De tratamento de erros
Utilidades do programa
Variadic funções
Data e hora
Objetos de função
(C++11)
Os operadores relacionais
Original:
Relational operators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Pares e tuplas
Original:
Pairs and tuples
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
Troque, avançar e avançar
Original:
Swap, forward and move
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
 
Apoio a tipos
Tipos básicos
Original:
Basic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Tipos fundamentais
Tipos inteiros de largura fixos(C++11)
Limites numéricos
Original:
Numeric limits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
C numérico limita interface
Informações de tipo de tempo de execução
Original:
Runtime type information
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Características de tipo
Original:
Type traits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Principais categorias de tipo
Original:
Primary type categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Propriedades de tipo
Original:
Type properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
Operações apoiadas
Original:
Supported operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Relacionamentos e consultas de propriedade
Original:
Relationships and property queries
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
(C++11)
Tipo modificações
Original:
Type modifications
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Transformações tipo
Original:
Type transformations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
Digite constantes traço
Original:
Type trait constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
 
staticconstbool is_modulo
(até C++11)
staticconstexprbool is_modulo
(desde C++11)

The value of std::numeric_limits<T>::is_modulo is true for all arithmetic types T that handle overflows with modulo arithmetic, that is, if the result of addition, subtraction, multiplication, or division of this type would fall outside the range [min(), max()], the value returned by such operation differs from the expected value by a multiple of max()-min()+1.

[editar]Especializações padrão

T
valor de std::numeric_limits<T>::is_modulo
Original:
value of std::numeric_limits<T>::is_modulo
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
/* non-specialized */ false
boolfalse
chartrue
signedchartrue
unsignedchartrue
wchar_ttrue
char16_ttrue
char32_ttrue
shorttrue
unsignedshorttrue
inttrue
unsignedinttrue
longtrue
unsignedlongtrue
longlongtrue
unsignedlonglongtrue
floatfalse
doublefalse
longdoublefalse

[editar]Exemplo

Demonstrates the behavior of modulo types

#include <iostream>#include <type_traits>#include <limits>   template<class T>typenamestd::enable_if<std::numeric_limits<T>::is_modulo>::type check_overflow(){std::cout<<"\nmax value is "<<std::numeric_limits<T>::max()<<'\n'<<"min value is "<<std::numeric_limits<T>::min()<<'\n'<<"max value + 1 is "<<std::numeric_limits<T>::max()+1<<'\n';}   int main(){ check_overflow<int>(); check_overflow<unsignedlong>();// check_overflow<float>(); // compile-time error, not a modulo type}

Saída:

max value is 2147483647 min value is -2147483648 max value + 1 is -2147483648   max value is 18446744073709551615 min value is 0 max value + 1 is 0

[editar]Veja também

[estática]
identifica os tipos inteiros
Original:
identifies integer types
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)[edit]
[estática]
identifica os IEC 559/IEEE 754 tipos de ponto flutuante
Original:
identifies the IEC 559/IEEE 754 floating-point types
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)[edit]
[estática]
identifica os tipos de exatas
Original:
identifies exact types
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)[edit]
close