Hvad er operatøren for Dereference?
Derference-operatøren er et symbol, der bruges i computerprogrammering til at hente en værdi placeret på en bestemt hukommelsesadresse. Operatøren, normalt repræsenteret af en stjerne i kildekoden, anvendes før en variabel, der peger på en hukommelsesadresse eller en markør. Nogle gange kaldet indirekte-operatøren, kan dereference-operatøren også bruges, når deklarerer eller initialiseres variabler for at indikere, at de er pegede på en datatype og ikke selve datatypen. Når du bestemmer rækkefølgen af operationer, har dereferenceoperatøren forrang frem for næsten alle standard matematiske operatører.
For at forstå, hvad dereference-operatøren gør, er det vigtigt at forstå, hvordan datatyper i computerprogrammering fungerer. En variabel i et program kan indeholde en værdi. Mange gange er dette simpelthen et heltal eller en streng med tegn. Andre gange kan det være en hukommelsesadresse, der peger på en heltalværdi. Variabler, der har hukommelsesadresser, kaldes pointers.
Når det er nødvendigt at tildele, ændre eller hente de data, der er gemt på den hukommelsesadresse, som en markør indeholder, skal dereference-operatøren bruges. Hvis en matematisk operation, såsom tilføjelse, udføres til en markørvariabel uden at afgrænse den, udføres handlingen på hukommelsesadressen og ikke på den variabel, den peger på. Der er tidspunkter, hvor aritmetiske operationer, der udføres på hukommelsesadresser, kan forbedre effektiviteten, som i tilfælde af trin gennem en matrix, hvorfor denne funktionalitet findes. Når dereference-operatøren bruges på en markør, udføres alle operationer på de data, der er gemt på hukommelsesstedet og ikke selve hukommelsesadressen.
Operatøren kan også bruges, når der oprindeligt erklæres en ny variabel. Ved at placere operatøren mellem variabeltypen og variabelnavnet vil det indikere, at den nye variabel skal være en markør til en datatype og ikke kun en forekomst af typen. Variabler, der oprettes på denne måde, skal initialiseres med en eller anden type hukommelsesallokeringsfunktion, fordi markøren skal indstilles til et ubrugt hukommelsessted af den hukommelsesadministrator, programmet bruger.
Der er nogle farer, der skal undgås, når du bruger dereference-operatøren. Især er forsøget på at fjerne en markør, der er null eller udefineret. Markøren har teknisk set ikke en hukommelsesadresse, så der genereres forskellige fejl eller undtagelser, der stopper udførelsen af et program. Nul-sikre versioner af dereference-operatøren findes, som ikke vil forårsage en fejl, men disse operatører har en anden syntaks.