Jak nejlépe implementovat převod typu v C ++?



Tento článek vás seznámí s převodem typů v C ++ a naváže na něj podrobnou programovou demonstraci pro stejný.

Tento článek vás seznámí s ještě dalším zajímavým tématem, do kterého zadejte Převod typu C ++ a postupujte podle něj s podrobnou praktickou ukázkou. V tomto článku se budeme zabývat následujícími ukazateli,

Pojďme tedy začít,





Převod typu v C ++

Konverze typu označuje převod z jednoho typu na jiný. Hlavní myšlenkou převodu typu je vytvořit proměnnou jednoho typu kompatibilní s proměnnou jiného typu k provedení operace. Například k nalezení součtu dvou proměnných, jedné typu int a druhé typu float. Musíte tedy zadat proměnnou cast int do float, aby byly oba typy float pro nalezení součtu. V tomto blogu se naučíme, jak provést převod typu v C ++.

V C ++ existují dva typy převodu typů, tj. Implicitní převody typů a explicitní převody typů.



Implicitní převod typu

Implicitní převod typu nebo automatický převod typu provádí kompilátor sám. Uživatel není povinen vyžadovat externí spouštěč, aby mohl obsadit proměnnou z jednoho typu do druhého.

K tomu dochází, když výraz obsahuje proměnné více než jednoho typu. V těchto scénářích tedy dochází k automatickému převodu typu, aby nedošlo ke ztrátě dat.V automatickém převodu typu jsou všechny datové typy přítomné ve výrazu převedeny na datový typ proměnné s největším datovým typem.

Níže je uvedeno pořadí automatické převodu typu. Můžete také říci, nejmenší až největší datový typ pro převod typu.



bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

Při implicitním převodu podepsaného typu na nepodepsaný typ může dojít ke ztrátě implicitních převodů, například ke ztrátě znaků, a při dlouhém implicitním převodu na float může dojít k přetečení.

jak používat iterátor java

Nyní se podívejme na příklad, abychom pochopili, jak implicitní převod typů funguje v C ++.

Příklad

#include using namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // znak char1 // char1 implicitně převeden na int pomocí ASCII hodnoty 'c' tj. 99 int1 = int1 + char1 // int1 je implicitně převeden na float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Výstup

int1 = 199

char1 = c

flt1 = 201,7

Dále v tomto převodu typů v C ++ článku,

počkejte a informujte v Javě

Explicitní převod typu

Explicitní převod typu nebo přetypování typu je uživatelem definovaný převod typu. V explicitním převodu typu uživatel převede jeden typ proměnné na jiný typ. Explicitní převod typu lze v C ++ provést dvěma způsoby:

  • Převod podle zadání
  • Převod pomocí operátoru Cast

Podívejme se nyní na každý ze způsobů explicitního přetypování jednoho typu na jiný.

Převod podle zadání

V tomto převodu typu je požadovaný typ výslovně definován před výrazem v závorkách. Ke ztrátě dat dochází při explicitním odlévání typu. Považuje se to za silný nához. Podívejme se na příklad.

Příklad

#include using namespace std int main () {double dbl1 = 8.9 // Explicitní převod z double na int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Výstup

Výsledek = 9

Dále v tomto převodu typů v C ++ článku,

Převod pomocí Cast Operator

Operátor Cast je unární operátor, který vynutí převod jednoho datového typu na jiný datový typ. V C ++ existují čtyři typy castingu, tj. Static Cast, Dynamic Cast, Const Cast a Reinterpret Cast.

  • Statické obsazení - Toto je nejjednodušší typ obsazení, který lze použít. Provádí nejen upcasty, ale také downcasty. Jedná se o kompilaci času. Kontroly se neprovádějí za běhu, aby bylo zaručeno, že převáděný objekt je úplným objektem cílového typu.
  • Dynamické obsazení - Zajišťuje, že výsledek převodu typu ukazuje na platný úplný objekt typu cílového ukazatele.
  • Const Cast - manipuluje s tím, zda objekt musí být konstantní nebo nekonstantní. Zajišťuje, že je třeba nastavit nebo odstranit konstantu.
  • Reinterpretovat Cast - převede libovolný typ ukazatele na jakýkoli jiný typ ukazatele, a to i u nesouvisejících tříd. Nekontroluje, zda je typ ukazatele a data směřovaná ukazatelem stejná nebo ne.

Podívejme se na příklad statického obsazení,

Příklad

#include using namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout< 

Výstup

30

Tím se dostáváme na konec tohoto článku o převodu typů v C ++.Doufám, že jste našli toto poučné a užitečné, zůstaňte naladěni na další návody k podobným tématům. Můžete si také prohlédnout náš tréninkový programo získejte podrobné znalosti o jQuery spolu s jeho různými aplikacemi, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem.

Máte na nás dotaz? Uveďte je v sekci komentářů tohoto článku a my se vám ozveme.