Static_cast C ++

Static_cast C ++
I denne artikkelen vil vi diskutere begrepet statisk rollebesetning i programmeringsspråket C ++. Til å begynne med dette konseptet, må vi vite om casting -konseptet og dets type. Med enkle ord endrer støping datatypen til en variabel til en annen. Det er to typer casting på C ++ programmeringsspråk en er implisitt casting, og den andre er eksplisitt casting.

Type støping i C ++:

På programmeringsspråket C ++ er det to former for støping eller typekonvertering som er:

  1. Implisitt støping av type.
  2. Eksplisitt støping av type.
  3. Implisitt type støping:

Den implisitte typen støping kalles også den automatiserte typen konvertering. Det gjøres av kompilatoren på ekte kjøretid og krever ingen inngang eller handling fra brukeren. Denne typen støping skjer når to typer datatyper er til stede i et uttrykk. For eksempel:

int k = 8;
char alph = “u”;
k = k + alf;

Dette er et perfekt eksempel på implisitt eller automatisert type konvertering. Kompilatoren konverterer automatisk karaktervariabelenes datatype til en heltalldatatype ved å vri den på kjøretiden til ASCII -standardverdien til alfabetet.

Eksplisitt støping av type:

Den eksplisitte typen støping eller konvertering av typen er ikke den automatiserte konverteringen av typen; Brukeren må gjøre det i seg selv i koden for å konvertere en variabels datatype til en annen variabels datatype. Så den eksplisitte typen støping eller konvertering av typen blir vanligvis gjort når en mindre bestillingsdatatype brukes til å holde all informasjon; Imidlertid må det transformeres til en høyere datatype for å forhindre tap av data og for å lagre mer data. Konverteringen etter tildeling gjøres i et uttrykk i koden, og måten å skrive dette uttrykket vises nedenfor:

# (datatype) uttrykk

Nå skal vi se på de forskjellige typene konverteringer som de rollebesetningene i C ++ programmeringsspråket kan gjøre. Rollebesetninger, også kjent som Unary -operatører, tvinger en variabel datatype til overgang fra en type til en annen. Rollebesetninger kan gjøre fire forskjellige støpingstyper: statisk rollebesetning, dynamisk rollebesetning, tolke støpt og const cast cast.

Statisk støpt operatør i C ++:

Den statiske rollebesetningen brukes vanligvis når vi må konvertere enumvariabelen til floats, heltall eller dobbelt datatypevariabler i programmeringsspråket C ++. Det brukes også når vi må endre en pekervariabel fra en baseklasse til en peker i en avledet klasse.

I den statiske støpte metoden er det ingen sjekk i løpet av et program for et program for støping av typen sammenlignet med den dynamiske typen støping. Syntaksen som ble brukt til å utføre en statisk støpt konvertering i programmeringsspråket C ++ er skrevet nedenfor:

# static_cast (objekt);

I uttrykket ovenfor skriver vi datatypen som vi ønsker å konvertere variabelen vår mellom vinkelbrakettene, og i den runde braketten skriver vi variabelen navn eller pekerens navn, hvilken datatype må konverteres.

Konvertere flytvariabelenes datatype til et heltall ved hjelp av statisk støpt metode i Ubuntu 20.04:

I C ++ -programmet står vi noen ganger overfor en situasjon der vi må endre en variabel datatype eksplisitt, så vi må bruke den statiske støpemetoden. Å implementere dette konseptet i Ubuntu 20.04, Åpne terminalen, gå til Desktop Directory ved å skrive “CD Desktop”, og lag deretter en .CPP -fil ved å utføre kommandoen "berøring" med filnavnet og utvidelsen av .CPP. Deretter, finn og åpne din .CPP -fil på skrivebordet

Vi har lagt til et bibliotek med iostream for å utføre input- og utgangsoperasjoner. Etter det har vi uttalt navneområdet STD. Så har vi startet hovedfunksjonen vår med heltalldatatypen. Inne i hovedfunksjonen vår har vi en variabel “F” med en float -datatype og tilordner verdien av “3.5 ”til det. Så har vi en annen variabel, “B” med heltalldatatypen. Og passerte en statisk støping til verdien av variabel “f”. Deretter trykket vi variabelen “B” ved å bruke cout.

Ovennevnte kode må lagres; Klikk på lagringsknappen som er tildelt på den øverste navigasjonslinjen i filen. Gå deretter til terminalen din igjen, kompiler filen og kjør den deretter hvis det ikke er noen feil ved å bruke følgende kommandoer “G ++ Filnavn” med filutvidelsen din som er ".CPP ”og“./”For å utføre det lesbare filnavnet som har“.ut ”som utvidelse.

Som du kan se i resultatet ovenfor, har vi med hell konvertert flottørvariabelen til Heltallsdatatypen variabel. Utgangen viser at bare tallet er en heltallvariabel før desimalpunktet skrives ut. Vi kan også bytte ut datatypen fra hverandre, ettersom floatvariabelen som skal konverteres til heltall vil være omvendt der vi vil konvertere heltallvariabelen til en float datatypevariabel.

Konvertere en heltallsvariables datatype til float ved hjelp av statisk støpemetode:

Nå vil vi invertere konverteringen som vi har utført i eksemplet ovenfor; Vi følger de lignende trinnene fra forrige eksempel som vist nedenfor:

I koden ovenfor har vi initialisert en heltallvariabel “I” og tildelt verdien av “4”. Så har vi en annen variabel “A” med float -datatype og konverterte deretter datatypen til å flyte, og trykte den deretter i utdataene ved å bruke COUT -setning. Etter å ha sammenstilt og utført koden ovenfor, vises utgangen som:

Vi har konvertert heltallvariabelen til en flottørvariabel, da kompilatoren ikke viser noen feil. Imidlertid er det fortsatt noe datatap da heltallet er en datatype med lavere orden, mens flytdatatypen er en høyere orden.

Bruke statisk rollebesetning for å dele to heltall uten tap av data:

I dette eksemplet vil vi dele to heltall ved å konvertere dem til en flottørvariabel for å lagre dataene som et heltall ikke kan holde. For å gjøre dette, vil vi utføre følgende kode der vi initialiserer to heltall som heter “I” og “K” med en verdi på “41” og “2”. Så har vi en annen variabel med en float -datatype med tittelen “A” og konverterer til en flottørvariabel og del den med den andre heltallsvariabelen. Så for å få utdataene til å vises på skjermen, har vi brukt cout -setningen.

Etter å ha samlet koden i eksemplet ovenfor og utført den, får vi følgende utdata:

Ovennevnte utgang forklarer at vi har delt heltallvariabelen. Likevel, før vi delte, konverterte vi heltallvariabelen for å flyte datatype og brukte den statiske støpeoperatøren i uttrykket for å dele den også. Resultatet viser et tall med desimalpunktet, da det nå er en floatvariabel, og det kan lagre tall etter desimalpunktet.

Konklusjon:

I denne artikkelen ble vi kjent med typestøpemekanismen i programmeringsspråket C ++. Mange typer støping ble også utforsket grundig, med fokus på hvorfor vi bruker slike metoder i C ++ programmering. Vi implementerte også begrepet statisk casting ved å bruke den statiske rollebesetningen i et uttrykk i C ++ programmeringsspråket i Ubuntu 20.04 Miljø.