Sdílet prostřednictvím


Propagace nedílnou

Objekty integrálního typu lze převést na jiného širší integrálního typu (, představující větší sady hodnot typ).Tento typ rozšiřujícího převodu se nazývá "nedílnou propagace. Nedílnou propagaci můžete pomocí následující výraz kdykoliv lze použít jiné integrálního typu:

  • Objekty, literálů a konstant typu char ashort int

  • Výčet typů

  • intbit pole

  • Enumerátory

Propagace C++ jsou "hodnota zachovávána." Je hodnota po povýšení je zaručena stejná jako hodnota před podporu.V zachování hodnoty propagace kratší nedílnou typů objektů (například bit pole nebo objekty typu char) se zabývají zadejte int Pokud int může představovat úplnou škálu původní typ.Pokud int nelze představují úplný rozsah hodnot, a potom zadejte je povýšen na objekt unsigned int.Tato strategie je stejný jako v ANSI C, zachování hodnoty převody "signedness" objekt nezachová.

Propagace a propagační akce, které obvykle zachovat signedness zachování hodnoty získáte stejné výsledky.Však jejich výsledky různých Pokud převedených objektů je jeden z následujících:

  • An operand of /, %, /=, %=, <, <=, >, or >=

    Tyto subjekty spoléhat na znaménko pro stanovení výsledků.Proto zachování hodnoty a zachování znaménko propagace různým výsledkům při použití těchto operandy.

  • Levý operand >> nebo >> =

    Tyto operátory množství podepsaných i nepodepsaných zachází odlišně při provádění operace shift.Posunutí doprava množství způsobuje podepsané množství chcete šířit do pozice vacated bit znaménkový.Nepodepsaný množství vacated bit pozice jsou vyplněny nulovými hodnotami.

  • Argument přetížené funkce nebo operand přetíženého operátoru, který závisí na signedness typu že operand pro odpovídající argument.(Viz Přetížené operátory Další informace o definování přetížené operátory.)

Viz také

Referenční dokumentace

Standardní