Innholdsfortegnelse:
Definisjon - Hva betyr indireksjonsoperatør?
En indireksjonsoperatør, i sammenheng med C #, er en operatør som brukes til å oppnå verdien av en variabel som en peker peker til. Mens en peker som peker til en variabel gir en indirekte tilgang til verdien av variabelen som er lagret i sin minneadresse, fører indirekteoperatoren til pekeren og returnerer verdien til variabelen på det minneplassen. Operasjonsdirektøren er en unær operatør representert med symbolet (*).
Indireksjonsoperatøren kan brukes i en peker til en peker til et heltall, en endimensjonal gruppe med pekere til heltall, en peker til en char og en peker til en ukjent type.
Den indirekte operatøren er også kjent som dereferensoperatøren.
Techopedia forklarer Indireksjonsoperatør
(*) -Symbolet brukes til å deklarere pekertyper og for å utføre pekeren indireksjon, mens operatøren 'adresse-til' () returnerer adressen til en variabel. Derfor er indireksjonsoperatøren og adresse-til operatøren inverser av hverandre.
C # tillater bruk av pekere bare i et utrygt område, noe som innebærer at sikkerheten til koden i dette området ikke blir bekreftet av vanlige språk runtime (CLR). I det utrygge området har indirekte operatøren lov til å lese og skrive til en peker. Følgende C # -uttalelser illustrerer bruken av indirection-operatøren:
- int a = 1, b; // linje 1
- int * pInt = & a; // linje 2
- b = * pInt; // linje 3
Operasjonsprogrammet for indireksjon bør brukes til å fjerne en gyldig peker med en adresse justert til typen den peker på, for å unngå udefinert oppførsel under kjøretid. Det skal ikke brukes på en tomt peker eller på et uttrykk som ikke er av en pekertype, for å unngå kompilatorfeil. Imidlertid kan indirekte-operatøren brukes når du har kastet en tom peker til riktig pekertype.
Når du deklarerer flere pekere i en enkelt uttalelse, bør indirekteoperatøren bare skrives en gang med den underliggende typen og ikke gjentas for hvert pekernavn. Operasjonen for indirection er distribuert i C #, i motsetning til C og C ++. Når indireksjonsoperatøren brukes på en nullpeker, resulterer det i en implementeringsdefinert oppførsel. Siden denne operatøren brukes i en utrygg sammenheng, bør nøkkelordet usikkert brukes før det sammen med / usikkert alternativ under samlingen. Denne definisjonen ble skrevet i sammenheng med C #