Hva er TypeID i C ++

Hva er TypeID i C ++

C++ er et kraftig programmeringsspråk som tilbyr et bredt spekter av applikasjoner til brukerne. Et viktig aspekt ved programmeringsspråket C ++ er dens evne til å støtte identifikasjon av runtime -typen. De typeid er blant disse identifikasjonene av kjøretidstypen som er mye brukt i C ++ -programmer.

Hvis du ikke vet hva typeid er i C ++, følg retningslinjene for denne artikkelen.

TypeID -operatør i C++

De typeid er en innebygd operatør i C ++ programmeringsspråk som lar brukere bestemme datatypen til en variabel på kjøretid. Verdien som returneres av typeid er av type “Typeinfo“, Som gir forskjellige detaljer om objektets type. Det er viktig i de tilfellene der et program trenger å utføre flere operasjoner basert på datatypen som brukes.

Syntaks av TypeID

Syntaksen til typeid Operatør i C ++ er som følger:

typeid (type)

Eller:

typeid (exp)

De typeid Operatør i C ++ godtar en av disse to parametrene.

Type: Når vi trenger å kjenne til runtime -typen til en variabel eller objekt, leverer vi typeargumentet inne i typeid operatør. Bare typeargumentet er nødvendig i dette tilfellet, og informasjonsinformasjonen vil bli samlet inn uten ytterligere evaluering eller forhåndsberegning.

Uttrykk: Når vi trenger detaljer om runtime -typen til et uttrykk, er ekspresjonsparameteren gitt i typeid operatør. Informasjonen om runtime -typen tas etter at uttrykket i denne parameteren er evaluert.

Når det brukes med en typeid, Den gir informasjon om typen som tilsvarer identifikatoren. Når den brukes med et uttrykk, gir den informasjon om objektets dynamiske type.

Bruk av TypeId -operatør

De typeid Operatør kan brukes på disse måtene.

  • Når operand fungerer som en variabel av objektet
  • Når operand er et uttrykk

1: Når operand fungerer som variabel av objektet

De typeid Operatør kan brukes på operander når de fungerer som en variabel av objektet.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
int jeg;
char ch;
Float fl;
dobbel db;
const type_info & type_i = typeId (i);
const type_info & type_ch = typeId (ch);
const type_info & type_fl = typeid (fl);
const type_info & type_db = typeId (db);
cout<<"Type of int i is: "<cout<<"\nType of character ch is: "<cout<<"\nType of float fl is: "<cout<<"\nType of double db is: "<retur 0;

I koden ovenfor erklærer vi fire forskjellige variabler, hver av separat datatype. Vi bruker deretter typeid Operatør på disse variablene og skrive ut datatypene sine ved hjelp av COUT -setninger.

Produksjon

2: Når operanden er et uttrykk

De typeid Operatør kan også brukes der operanden blir behandlet som et uttrykk.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
int i = 7;
char ch = 'a';
FLOAT FL = 42.4;
dobbel db = 4.279;
const type_info & type_a = typeId (i+ch);
const type_info & type_b = typeId (i*fl);
const type_info & type_c = typeId (db*fl);
const type_info & type_d = typeID (i+db);
cout<<"expression i+ch : "<cout<<"\nexpression i*fl : "<cout<<"\nexpression db*fl : "<cout<<"\nexpression i+db : "<retur 0;

I koden ovenfor initialiserer vi fire variabler av forskjellige datatyper. Så evaluerer vi noen uttrykk og beregner deres type ved hjelp av C++ typeid() Operatør.

Produksjon

Fordeler og ulemper med TypeID i C++

De typeid er nyttig når du skriver kode som fungerer med objekter som ikke er kjent før kjøretid. Anta for eksempel at en funksjon tar en tomrom som en parameter. Det kan bruke typeid å avgjøre om pekeren er til en int eller en dobbel, noe som kan påvirke hvordan funksjonen skal fungere betydelig.

I tillegg til typenavn, "typeinfo”Objekt gir også forskjellige andre detaljer om typen. Disse inkluderer:

  • Enten typen er en grunnleggende type, en pekertype eller en brukerdefinert type.
  • Om typen er "const" eller "flyktig".
  • Om typen er en klassetype, og i så fall om den er polymorf.
  • Om typen er en matrise -type, og i så fall, hva dimensjonene er.
  • Om typen er en referansetype.

De typeid er også nyttig når du arbeider med maler og funksjoner som tar et variabelt antall argumenter. Ved å bruke “typeid”Operatør, kan du ta typespesifikke handlinger ved kjøretid, for eksempel å velge riktig mal eller funksjon du skal bruke.

En mulig ulempe med typeid er at det er noe tregt. Det er vanligvis tregere enn andre typer typekontroll, for eksempel malparametere eller sjekker av kompileringstid, siden den undersøker typen et objekt under kjøretid.

Konklusjon

typeid”Operatør i C ++ gir verdifull informasjon om datatypen til en variabel eller et objekt. Det lar programmerere utføre typespesifikke handlinger ved kjøretid og kan brukes når operanden fungerer som en variabel, eller når operanden er et uttrykk.