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,
- Převod typu v C ++
- Implicitní převod typu
- Explicitní převod typu
- Převod podle zadání
- Převod pomocí operátoru Cast
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.