Vissa dator programmeringsspråk , till exempel C + + och Visual Basic , omfattar en flexibel , allmän datatyp som kallas en variant datatyp . En variant är en datatyp som kan innehålla olika typer av information, till exempel numerisk eller sträng informationen , men även innehåller metadata - dvs data om data - som anger hur informationen ska tolkas . Värden
variantdatatyper kan typiskt innehålla information av något slag , utom strukturerade data och adresser , eller pekare . De olika kategorier av information kallas subtyper och inkluderar en mängd numerisk information , allt från booleska värden , som innehåller antingen sant falskt , till stora flyttal , variabla strängar längd , föremål och siffror fel . Varianter också kan vara null , där de avsiktligt innehåller inga giltiga data , eller tom , eller oinitierad .
Nyttan
Vanligtvis variantdatatyper beter sig som nummer om de är används i en numerisk kontext och som strängar när de används i en sträng sammanhang. Varianter beter oftast på det sätt som är mest lämpligt för den typ av data som de innehåller . När data tilldelas en variant datatyp , ingen typ konverteringen eller type-casting , inträffar. Den uppgifter utan omvandlas till en lämplig datatyp , utan snarare den variant blir den typ av data. Med andra ord kan en variant datatyp tilldelas en numerisk datatyp , t.ex. ett heltal , i ett uttalande och tilldelas en sträng i nästa .
Applications
variantdatatyper kan vara användbart i situationer där datatyper och deras innehåll bestäms vid körning - det vill säga när ett program körs - snarare än vid kompileringen . Olika program kan ha skrivits med olika kompilatorer - datorprogram som översätter en hög nivå programmeringsspråk till maskinkod - som kanske inte delar samma datatyper . Variantdatatyper kan användas för att överföra värden mellan sådana program .
Begränsningar
variantdatatyper kan vara verkligt användbar om du är osäker på vilken typ av data som ett program behöver hantera eller du behöver för att rymma utländska uppgifter , vars datatyp är okänd eller är inte helt specificerad . Emellertid kommer flexibiliteten i variantdatatyper till en kostnad och , om de används på måfå , kan de göra programkod svårläst , hindra program prestanda - den mest exakta datatyp för det tilldelade värdet ska mätas vid körning - och öka potentialen för runtime fel .