Typedefi struktuuri mõistmine C++ keeles
C++ keeles on 'typedef' märksõna, mis pakub uusi nimesid olemasolevatele sisseehitatud andmetüüpidele, osutitele, struktuuridele ja kasutaja määratud andmetüüpidele, mis töötavad kogu programmis varjunimena. Lihtsamalt öeldes annab see sisseehitatud või kasutaja määratud andmetüüpidele kirjeldavad nimed, mis võivad olla iseenesestmõistetavad. Samuti aitab see vähendada koodiridu ja lihtsustada keerulisi andmetüüpe. Kuid nagu varem mainitud, ei ole 'typedef' liigne kasutamine soovitatav, kuna see võib põhjustada segadust.
Struktuur on teine märksõna, mida kasutatakse struktuuri määratlemiseks ja lähtestamiseks. C++ struktuur on liitandmetüübi deklaratsioon, mis võimaldab arendajatel rühmitada erinevaid andmetüüpe või muutujaid ühte kohta.
C++ puhul on “struct” ja “typedef struct” samad. 'typedef struct' ja 'struct' vahel pole praktilist erinevust, kuna need töötavad samamoodi. Kui klass, enum, liit või struktuur on C++-s deklareeritud või määratletud, ei ole vaja neid kaudselt määratleda kui 'typedef', kuna need on vaikimisi 'typedef'.
Typedefi struktuuri süntaks C++ keeles
Struktuuri 'typedef' süntaks on sama mis struktuuril, millel puudub 'typedef'. See vajab lihtsalt sõna 'typedef' selgesõnalist määratlust märksõnaga 'struct'. Vaadake täielikku süntaksit järgmiselt:
typedef struktuur {
< andmetüüp > < muutuja1 > ;
< andmetüüp > < muutuja2 > ;
< andmetüüp > < muutuja3 > ;
} < struktuuri_nimi > ;
Struktuur määratakse nüüd lihtsalt
< struktuuri_nimi > muutuja4, muutuja5, muutuja6 ;
Nüüd uurime mõnda näidet, et C++-i 'typedef'-struktuuri selgemalt ja paremini mõista.
Näide 1:
C++-i tüüpidef-struktuuri esimeses näites kasutame lihtsat programmi, et selgitada, kuidas seda C++-projektides defineerida ja kasutada. Vaadake järgmist koodi ja liikuge seejärel selgituse juurde:
#include
kasutades nimeruum std ;
struktuur kümnend {
int 1. detsember ;
int detsember 2 ; } ;
int peamine ( ) {
struktuur kümnendkoha d ;
d. 1. detsember = 10 ;
d. detsember 2 = 23 ;
cout << d. 1. detsember << endl ;
cout << d. detsember 2 << endl ;
tagasi 0 ; }
Selles C++ koodis määratleme kümnendkoha struktuuri ja demonstreerime selle kasutamist põhifunktsioonis. Vaatame iga koodirida.
Programm alustab vajaliku päisefaili (nt '#include
Põhifunktsioonis luuakse kümnendstruktuuri eksemplar. Seda tehakse 'd;' abil. deklaratsioon kümnend. Struktuuril on kaks liiget, seega pääseme mõlemale juurde eksemplari „d” abil. Väärtused 'dec1' ja 'dec2' määratakse seejärel vastavalt 10 ja 23-ga, kasutades definitsiooni 'd.dec1' ja 'd.dec2'. Lõpuks prinditakse konsooli väärtused 'dec1' ja 'dec2', kasutades 'cout'. Programm annab järgmised väljundid:
Antud väljundi hetktõmmis näitab, kuidas lihtsat 'typedef' struktuuri nimega 'decimal' kasutatakse põhifunktsiooni kahe kümnendarvu salvestamiseks ja manipuleerimiseks. Struktuur 'typedef' võimaldab paremini korraldada ja hallata seotud andmeid C++ programmis.
Näide 2:
Eelnevalt selgitatud näites on struktuuris antud ainult ühte tüüpi andmed. Nüüd määratleme struktuuris mitut tüüpi andmeid ja vaatame, kuidas 'typedef' võib aidata koodirida vähendada ja koodiga seotud probleeme lihtsustada. Kood on teile viitamiseks esitatud järgmiselt:
#includekasutades nimeruum std ;
typedef struktuur sõnastik {
int id ;
stringi nimi ;
pikk rollnum ;
char klassi nimi ;
} dikt ;
int peamine ( )
{
dikteerida andmeid ;
andmeid. id = kakskümmend ;
andmeid. nimi = 'Kalsoom' ;
andmeid. rollnum = 123456789 ;
andmeid. klassi nimi = 'D' ;
cout << 'Kandidaadi ID on =' << andmeid. id << endl ;
cout << 'Kandidaadi nimi on =' << andmeid. nimi << endl ;
cout << 'Kandidaadi roll on =' << andmeid. rollnum << endl ;
cout << 'Kandidaadi klassi nimi on =' << andmeid. klassi nimi << endl ;
tagasi 0 ;
}
Sarnaselt eelmisele näitele on ka see programm käivitanud vajaliku päisefaili nagu “#include
Nüüd määratleme põhifunktsioonis esmalt struktuurisõnastiku eksemplari nimega 'dict' andmetena, mis toimivad 'dict' varjunimena. Väärtused määratakse struktuuri igale liikmele järgmiste lausete abil:
andmeid. id = kakskümmend ;andmeid. nimi = 'Kalsoom' ;
andmeid. rollnum = 123456789 ;
andmeid. klassi nimi = 'D' ;
Nagu näete, on neid väärtusi erinevat tüüpi – int, string, long ja char. Kasutades lauset “cout”, prindime kõik konsoolil määratletud väärtused. Vaatame programmi väljundit järgmises hetktõmmises:
Väljundkuvatõmmis näitab selgelt 'typedefi' kasutamist koos mitut andmetüüpi sisaldava struktuuriga, et luua struktuurile varjunime. See pakub sisutihedamat, loetavamat ja lihtsamat viisi kogu C++ programmi struktuuridega töötamiseks.
Järeldus
C++ struktuuri 'typedef' kokkuvõtteks on 'typedef' märksõna, mida kasutatakse C++-s primitiivsete, sisseehitatud või kasutaja määratud andmetüüpide varjunimede loomiseks. Seoses märksõnaga 'struct' on 'typedef' võimas tööriist koodi kokkuvõtlikkuse ja selguse parandamiseks. Definitsioon 'typedef' aitab tavaliselt vähendada koodiridu ja mälualasid. Siiski ei soovitata üheski programmis, ei lühikestes ega pikkades ja keerulistes projektides liiga palju kasutada 'typedef', kuna see võib tekitada ebaselgust. Selles artiklis uurisime struktuuri 'typedef' lihtsate näidete abil, et mõista 'typedef' toimimist, rakendamist ja kasutamist C++ programmides.