Promociones enteras

Los objetos de un tipo entero se pueden convertir a otro tipo más ancho entero (es decir, que puede representar un conjunto mayor de valores).Este tipo de ampliación de conversión se denomina “promoción entera.” Con la promoción integer, puede utilizar el siguiente en una expresión en cualquier parte que otro tipo entero se puede utilizar:

  • objetos, literales, y constantes de char escrito y de short int

  • tipos de enumeración

  • campos de bits deint

  • Enumeradores

las promociones de C++ “valor-están conservando.” Es decir, el valor después de promoción se garantiza que sea igual que el valor antes de promoción.En promociones qué conservan, objetos de tipos enteros más cortos (como campos de bits u objetos de charescribe) se promueven para escribir int si int puede representar el intervalo completo del tipo original.Si int no puede representar el intervalo de valores completo, el objeto se promueve para escribir unsigned int.Aunque esta estrategia es igual que la utilizada por ANSI C, valor-conservando conversiones no guarde “signedness” del objeto.

Valor-conservando las promociones y las promociones que mantienen la producción de signedness normalmente los mismos resultados.Sin embargo, pueden generar resultados diferentes si el objeto se promueve es uno de los siguientes:

  • un operando de /, de %, de /=, de %=, de <, de <=, de >, o de >=

    Estos operadores dependen del signo para determinar el resultado.Por consiguiente, valor-conservando y signo-conservando promociones genera resultados diferentes cuando se aplica a estos operandos.

  • el operando izquierdo de >> o de >>=

    Cantidades de una llamada de estos operadores de manera diferente signed y unsigned al realizar una operación de cambio.Para las cantidades firmado, mover una derecha de la cantidad el bit de signo que se difundirá en las posiciones de bits desocupadas.Para las cantidades sin signo, cero rellenan las posiciones de bits desocupadas.

  • Un argumento de una función o un operando sobrecargada de un operador sobrecargado que depende de signedness del tipo del operando para coincidir con el argumento.(Vea operadores sobrecargados para más información sobre la definición de operadores sobrecargados.)

Vea también

Referencia

Conversiones estándar