De Typedef-structuur in C++ begrijpen
In C++ is “typedef” een trefwoord dat nieuwe namen geeft aan bestaande ingebouwde gegevenstypen, pointers, structuren en door de gebruiker gedefinieerde gegevenstypen die als alias in het hele programma werken. Simpel gezegd: het geeft beschrijvende namen aan de ingebouwde of door de gebruiker gedefinieerde gegevenstypen, die voor zichzelf kunnen spreken. Het helpt ook het aantal regels code te verminderen en de ingewikkelde gegevenstypen te vereenvoudigen. Zoals eerder vermeld wordt echter te veel gebruik van “typedef” niet aanbevolen, omdat dit tot verwarring kan leiden.
De struct is een ander sleutelwoord dat wordt gebruikt om een structuur te definiëren en te initialiseren. De structuur in C++ is een samengestelde gegevenstypedeclaratie waarmee ontwikkelaars verschillende gegevenstypen of variabelen op één plek kunnen groeperen.
In C++ zijn “struct” en “typedef struct” hetzelfde. Er is geen praktisch verschil tussen “typedef struct” en “struct” omdat ze hetzelfde werken. Telkens wanneer een klasse, enum, unie of struct wordt gedeclareerd of gedefinieerd in C++, is het niet nodig om deze impliciet te definiëren als “typedef”, omdat ze standaard “typedef” zijn.
Syntaxis van de Typedef-structuur in C++
De syntaxis van de structuur “typedef” is hetzelfde als de structuur zonder “typedef”. Het heeft alleen een expliciete definitie van “typedef” nodig met het trefwoord “struct”. Zie de volledige syntaxis hieronder:
typedef structureren {
< data type > < variabele1 > ;
< data type > < variabele2 > ;
< data type > < variabele3 > ;
} < structuurnaam > ;
De structuur wordt nu gedefinieerd door simpelweg de
< structuurnaam > variabele4, variabele5, variabele6 ;
Laten we nu enkele voorbeelden verkennen voor een duidelijker en beter begrip van de “typedef” -structuur in C++.
Voorbeeld 1:
In het eerste voorbeeld van de “typedef”-structuur in C++ nemen we een eenvoudig programma om uit te leggen hoe het kan worden gedefinieerd en gebruikt in C++-projecten. Bekijk de volgende code en laten we verder gaan met de uitleg:
#include
gebruik makend van naamruimte soa ;
structureren decimale {
int 1 december ;
int 2 december ; } ;
int voornaamst ( ) {
structureren decimaal d ;
D. 1 december = 10 ;
D. 2 december = 23 ;
uit << D. 1 december << eindl ;
uit << D. 2 december << eindl ;
opbrengst 0 ; }
In deze C++-code definiëren we een decimale structuur en demonstreren we het gebruik ervan binnen de hoofdfunctie. Laten we elke regel code eens bekijken.
Het programma begint met het opnemen van het benodigde headerbestand zoals “#include
In de hoofdfunctie wordt een exemplaar van de decimale structuur gemaakt. Dit wordt gedaan met behulp van de “d;” aangifte decimaal. De structuur heeft twee leden, dus we hebben toegang tot beide met behulp van de instantie 'd'. De waarden “dec1” en “dec2” worden vervolgens toegewezen met respectievelijk 10 en 23, met behulp van de definitie “d.dec1” en “d.dec2”. Ten slotte worden de waarden van “dec1” en “dec2” met behulp van “cout” naar de console afgedrukt. Het programma geeft de volgende outputs:
De gegeven output-snapshot laat zien hoe een eenvoudige “typedef”-structuur genaamd “decimal” wordt gebruikt om twee decimale getallen binnen de hoofdfunctie op te slaan en te manipuleren. De “typedef”-structuur zorgt voor een betere organisatie en beheer van gerelateerde gegevens in een C++-programma.
Voorbeeld 2:
In het voorbeeld dat we eerder hebben uitgelegd, wordt in de structuur slechts één type gegevens gegeven. Laten we nu meerdere soorten gegevens in een structuur definiëren en kijken hoe “typedef” kan helpen bij het verkleinen van de reeks codes en het vereenvoudigen van de complicaties van de code. De code wordt hieronder ter referentie gegeven:
#includegebruik makend van naamruimte soa ;
typedef structureren woordenboek {
int ID kaart ;
tekenreeks naam ;
lang rolnum ;
verkoold naam van de klasse ;
} dictaat ;
int voornaamst ( )
{
dicteergegevens ;
gegevens. ID kaart = twintig ;
gegevens. naam = 'Kalsom' ;
gegevens. rolnum = 123456789 ;
gegevens. naam van de klasse = 'D' ;
uit << 'Het id van de kandidaat is = ' << gegevens. ID kaart << eindl ;
uit << 'De naam van de kandidaat is = ' << gegevens. naam << eindl ;
uit << 'Het rollnum van de kandidaat is = ' << gegevens. rolnum << eindl ;
uit << 'De klassenaam van de kandidaat is = ' << gegevens. naam van de klasse << eindl ;
opbrengst 0 ;
}
Net als het vorige voorbeeld heeft dit programma ook het noodzakelijke headerbestand zoals “#include
Nu definiëren we in de hoofdfunctie eerst een exemplaar van het structuurwoordenboek met de naam 'dict' als een gegevens die fungeert als een alias van 'dict'. De waarden worden aan elk lid van de structuur toegewezen met behulp van de volgende instructies:
gegevens. ID kaart = twintig ;gegevens. naam = 'Kalsom' ;
gegevens. rolnum = 123456789 ;
gegevens. naam van de klasse = 'D' ;
Zoals u kunt zien, zijn deze waarden van verschillende typen: int, string, long en char. Met behulp van de “cout”-instructie drukken we alle gedefinieerde waarden op de console af. Laten we de uitvoer van het programma bekijken in de volgende momentopname:
De uitvoerscreenshot toont duidelijk het gebruik van een “typedef” met de struct die meerdere gegevenstypen bevat om een alias voor een structuur te creëren. Het biedt een beknoptere, leesbare en eenvoudigere manier om met de structuren in het volledige C++-programma te werken.
Conclusie
Om de “typedef” -structuur in C++ samen te vatten: “typedef” is een trefwoord dat in C++ wordt gebruikt om aliassen te maken van primitieve, ingebouwde of door de gebruiker gedefinieerde gegevenstypen. In combinatie met het trefwoord ‘struct’ is ‘typedef’ een krachtig hulpmiddel om de beknoptheid en duidelijkheid van de code te verbeteren. De “typedef”-definitie helpt meestal het aantal regels code en geheugengebieden te verkleinen. Te veel gebruik van “typedef” wordt echter in geen enkel programma, noch in korte, noch in lange, en ingewikkelde projecten aanbevolen, omdat dit voor dubbelzinnigheid kan zorgen. In dit artikel hebben we de structuur “typedef” onderzocht met behulp van eenvoudige voorbeelden om de werking, implementatie en gebruik van “typedef” in C++-programma’s te begrijpen.