Nogle computer programmeringssprog , såsom C + + og Visual Basic , omfatter en fleksibel, allround datatype kendt som en variant datatype. En variant er en datatype, der kan indeholde forskellige former for information, såsom numerisk eller snor information , men indeholder også metadata - dvs data om data - der angiver , hvordan oplysningerne skal tolkes . Værdier
variantdatatyper kan typisk indeholde oplysninger af enhver art , bortset fra strukturerede data og adresser, eller henvisninger . De forskellige kategorier af oplysninger, er kendt som undertyper , og omfatter en række forskellige numeriske oplysninger , der spænder fra booleske værdier, som indeholder enten sand af falske, til enorme flydende tal , variabel længde strenge, objekter og fejl numre. Varianter kan også være null, hvor de bevidst indeholder ingen gyldige data eller tomme eller initialiseret .
Nytten
Typisk variantdatatyper opfører sig som numre, hvis de er anvendes i en numerisk kontekst og som strenge når de anvendes i en streng sammenhæng . Varianter normalt opfører sig på den måde, der er mest hensigtsmæssig for den type data, de indeholder . Når data er tildelt en variantdatatypen , ingen typekonverteringsoperator eller typeinddelinger forekommer . Dataene er ikke konverteres til et passende datatype , men snarere variant, der bliver den type af data. Med andre ord kan en variant datatype tildeles en numerisk datatype , som et heltal i én sætning og tildeles en streng i den næste.
Applications
< br >
variantdatatyper kan være nyttig i situationer, hvor datatyper og deres indhold er bestemt på runtime - altså når et program køres - snarere end påkompileringstidspunktet . Forskellige programmer kan have været skrevet med forskellige oversættere - edb-programmer , der oversætter et højt niveau programmeringssprog til maskinkode - som måske ikke deler samme datatyper. Variantdatatyper kan bruges til at overføre værdier mellem disse programmer.
Begrænsninger
variantdatatyper kan være virkelig nyttige , hvis du er i tvivl om den type data, som et program skal håndtere eller du har brug for til at rumme udenlandske data , hvis datatype er ukendt eller ikke er fuldt specificeret . Men fleksibilitet variantdatatyper kommer til en pris , og , hvis de bruges tilfældigt , kan de gøre programkode svært at læse , hindre program ydeevne - den mest præcise datatype for den tildelte værdi skal fastsættes på runtime - og øge potentialet for runtime fejl .