Huis Ontwikkeling Wat is de grootte van de operator? - definitie van techopedia

Wat is de grootte van de operator? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Sizeof Operator?

Grootte van operator, in C #, is een operator die wordt gebruikt om de grootte (in bytes) te bepalen van een onbeheerd type dat geen referentietype is.

Bij het ontwikkelen van applicaties die dynamische geheugentoewijzing omvatten, is het heel gebruikelijk om het geheugen te vinden dat aan een type is toegewezen. Het is zeer onveilig om de grootte van een type aan te nemen en de hard-coded waarde in de toepassing te gebruiken, omdat dit de toepassing kan breken wanneer deze naar verschillende systemen wordt geporteerd. De operator sizeof wordt in dergelijke gevallen gebruikt om de grootte van een samengesteld gegevenstype te vinden, zoals een struct. Het kan echter alleen worden gebruikt om de bytegrootte van waardetypes te berekenen en niet voor referentietypes vanwege het gevirtualiseerde typelay-outsysteem van het .NET-framework.

De operator sizeof helpt bij de geheugentoewijzing voor datastructuren die uit beheerde applicaties worden doorgegeven aan onbeheerde code zoals Interop, aangepaste serialisatie, enz. Operators voor verhogen en verlagen, die op wijzers werken, gebruiken intern de sizeof-operator om het adres te verhogen of te verlagen in een pointervariabele met een waarde gelijk aan het aantal bytes bezet door het type pointer. De operator sizeof helpt de leesbaarheid van de code te verbeteren.

Techopedia legt Sizeof Operator uit

De operator sizeof is een unaire operator die een enkele parameter gebruikt en wordt gebruikt met het trefwoord "sizeof". In tegenstelling tot C ++ is de operator sizeof een compilatie-tijdconstructie, dus de parameter moet een gesloten type zijn dat bekend is tijdens de compilatie, geen variabelen. De parameter kan ook een opsomming, een aanwijzer of een door de gebruiker gedefinieerde structuur zijn zonder eigenschappen van een veld of referentietype. Voor bepaalde vooraf gedefinieerde typen retourneert de operator sizeof een constante waarde, terwijl het gebruik ervan met resterende typen resulteert in waarden op basis van implementatie.

Wanneer de operator sizeof bijvoorbeeld wordt uitgevoerd met integer (int) als parameter, retourneert deze altijd het getal vier om aan te geven dat een variabele van het type integer vier bytes geheugen in beslag neemt.

Wanneer de operator sizeof wordt toegepast op een operand van het struct-type, haalt deze het totale aantal bytes op dat wordt ingenomen door een struct, inclusief de opvulbytes die worden gebruikt voor de interne uitlijning. De te volgen richtlijnen tijdens het gebruik van de operator sizeof met struct omvatten:
  • Het moet binnen een onveilig blok worden aangeroepen
  • De struct-variabele mag geen lid van het referentietype bevatten
  • De struct mag geen generiek waardetype zijn
Deze definitie is geschreven in de context van C #
Wat is de grootte van de operator? - definitie van techopedia