Noen datamaskinen programmeringsspråk, som C + + og Visual Basic, inkluderer en fleksibel , generell datatype kjent som en variant datatype. En variant er en datatype som kan inneholde ulike typer informasjon , for eksempel numerisk eller streng informasjon , men også inneholder metadata - det vil si data om data - som spesifiserer hvordan informasjonen skal tolkes. Verdier
variantdatatyper kan typisk inneholde informasjon av noe slag , bortsett strukturerte data og adresser, eller pekere . De ulike kategorier av informasjon er kjent som undergrupper og omfatter et utvalg av numerisk informasjon , alt fra boolske verdier , som inneholder enten sant av falsk , til store flyttall , variabel lengde strenger , objekter og feilnumre . Varianter kan også være null, hvor de med vilje ikke inneholder gyldige data , eller tom, eller ikke-initialisert .
Nytten
Vanligvis variantdatatyper oppføre seg som tall hvis de er brukes i en numerisk sammenheng og som strenger når de brukes i en sammenheng streng . Varianter vanligvis oppfører seg på den måten som er mest hensiktsmessig for den type data de inneholder. Når data er tildelt en variantdatatypen , ingen typekonverteringsproblem , eller typecasting , oppstår . Dataene er ikke omdannes til en passende datatype, men snarere den variant blir den type av data . Med andre ord kan en variant datatype bli tildelt en numerisk datatype , for eksempel et heltall , i en uttalelse og tildelt en streng i den neste.
Applications
variantdatatyper kan være nyttig i situasjoner der datatyper og deres innhold er bestemt under kjøring - det vil si når et program kjøres - snarere enn ved kompilering . Ulike programmer kan ha blitt skrevet med ulike kompilatorer - dataprogrammer som oversetter et høyt nivå programmeringsspråk til maskinkode - som kanskje ikke har samme datatyper. Variantdatatyper kan brukes til å overføre verdier mellom slike programmer .
Begrensninger
variantdatatyper kan være genuint nyttig hvis du er usikker på hvilken type data som et program må håndtere eller du trenger å huse utenlandske data , og data er ukjent eller ikke er fullt spesifisert. Men kommer fleksibilitet variantdatatyper til en pris og hvis det brukes på måfå , kan de gjøre programkode vanskelig å lese , hindre program ytelse - den mest nøyaktige data type for den tildelte verdien skal fastsettes under kjøring - og øke potensialet for runtime feil .