Huis Ontwikkeling Wat is indirection operator? - definitie van techopedia

Wat is indirection operator? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Indirection-operator?

Een indirection-operator, in de context van C #, is een operator die wordt gebruikt om de waarde te verkrijgen van een variabele waarnaar een aanwijzer verwijst. Terwijl een aanwijzer die naar een variabele verwijst, indirect toegang geeft tot de waarde van de variabele die is opgeslagen in het geheugenadres, derefereert de indirection operator de aanwijzer en retourneert de waarde van de variabele op die geheugenlocatie. De indirection-operator is een unaire operator, vertegenwoordigd door het symbool (*).


De indirection-operator kan worden gebruikt in een aanwijzer naar een aanwijzer naar een geheel getal, een eendimensionale reeks aanwijzers naar gehele getallen, een aanwijzer naar een teken en een aanwijzer naar een onbekend type.


De indirection-operator is ook bekend als de dereference-operator.

Techopedia legt de Indirection-operator uit

Het symbool (*) wordt gebruikt bij het declareren van pointertypen en bij het uitvoeren van pointerindirection, terwijl de operator 'address-of' () het adres van een variabele retourneert. Daarom zijn de indirection-operator en het adres-of-operator omgekeerd van elkaar.


C # maakt het gebruik van pointers alleen in een onveilige regio mogelijk, wat betekent dat de veiligheid van de code in die regio niet wordt geverifieerd door de Common Language Runtime (CLR). In het onveilige gebied mag de omleidingsoperator een aanwijzer lezen en schrijven. De volgende C # -instructies illustreren het gebruik van de indirection-operator:

  • int a = 1, b; // lijn 1
  • int * pInt = & a; // lijn 2
  • b = * pInt; // regel 3
In de eerste regel hierboven zijn a en b variabelen met een geheel getal en krijgt a een waarde van 1. In regel 2 wordt het adres van a opgeslagen in de integer pointer pInt (regel 2). De dereferentie-operator wordt in regel 3 gebruikt om de waarde op het adres waarnaar pint verwijst, toe te wijzen aan de variabele integer b.


De indirection-operator moet worden gebruikt om een ​​geldige aanwijzer te herleiden met een adres dat is uitgelijnd met het type waarnaar het verwijst, om ongedefinieerd gedrag tijdens runtime te voorkomen. Het moet niet worden toegepast op een lege aanwijzer of op een expressie die niet van het type aanwijzer is, om compilerfouten te voorkomen. Nadat een lege aanwijzer naar het juiste aanwijzertype is gegoten, kan de indirection-operator echter worden gebruikt.


Bij het declareren van meerdere aanwijzers in een enkele instructie, moet de indirection operator slechts eenmaal worden geschreven met het onderliggende type en niet worden herhaald voor elke pointer naam. De indirection-operator is distributief in C #, in tegenstelling tot C en C ++. Wanneer de indirectie-operator wordt toegepast op een nulaanwijzer, resulteert dit in een door de implementatie gedefinieerd gedrag. Aangezien deze operator in een onveilige context wordt gebruikt, moet het sleutelwoord onveilig worden gebruikt in combinatie met de optie / onveilig tijdens het compileren. Deze definitie is geschreven in de context van C #

Wat is indirection operator? - definitie van techopedia