Namai Plėtra Kas yra indirection operatorius? - apibrėžimas iš techopedijos

Kas yra indirection operatorius? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia „Indirection“ operatorius?

Indukcijos operatorius C # kontekste yra operatorius, naudojamas gauti kintamojo, į kurį rodyklė, vertę. Nors rodyklė, nukreipianti į kintamąjį, suteikia netiesioginę prieigą prie kintamojo, saugomo jo atminties adrese, vertės, indirection operatorius nurašo žymiklį ir grąžina kintamojo reikšmę toje atminties vietoje. Indukcijos operatorius yra nevienodas operatorius, pavaizduotas simboliu (*).


Indirection operatorius gali būti naudojamas rodyklėje iki rodyklės iki sveikojo skaičiaus, rodyklių masyvas iki vientisų skaičių, rodyklės į char ir rodyklės į nežinomą tipą.


Indirection operatorius taip pat žinomas kaip nuokrypio operatorius.

„Techopedia“ paaiškina „Indirection“ operatorius

Simbolis (*) naudojamas deklaruojant rodyklės tipus ir atliekant rodyklės indirection, o operatoriaus „address-of“ operatorius () grąžina kintamojo adresą. Taigi, indirekcijos operatorius ir operatoriaus adresas yra vienas kito inversija.


C # leidžia naudoti rodykles tik nesaugiame regione, o tai reiškia, kad kodo saugumas tame regione nėra patikrintas bendrosios kalbos vykdymo laiku (CLR). Nesaugiame regione indirection operatoriui leidžiama skaityti ir rašyti rodyklę. Šie C # teiginiai iliustruoja indirection operatoriaus naudojimą:

  • int a = 1, b; // 1 eilutė
  • int * pInt = & a; // 2 eilutė
  • b = * pInt; // 3 eilutė
Aukščiau esančioje pirmoje eilutėje a ir b yra sveikieji kintamieji, o a priskiriama reikšmė 1. 2 eilutėje a adresas saugomas sveikojo skaičiaus rodyklėje pInt (2 eilutė). Nuokrypio operatorius naudojamas 3 eilutėje, kad sveikam skaičiui b priskirtų vertę adresu, kurį nurodo pInt.


Norint išvengti neapibrėžto elgesio vykdymo metu, indirection operatorius turėtų būti naudojamas nurašyti galiojantį žymeklį, kurio adresas yra suderintas su tipu, į kurį jis nurodo. Norint išvengti kompiliatoriaus klaidų, jis neturėtų būti taikomas tuščiai rodyklei ar išraiškai, kuri nėra rodyklės tipo. Tačiau, išleidus tuščią rodyklę į reikiamą rodyklės tipą, gali būti naudojamas indirection operatorius.


Deklaruodami kelis rodyklius viename teiginyje, indirection operatorius turėtų būti rašomas tik vieną kartą su pagrindiniu tipu, o ne pakartoti kiekvienam rodyklės pavadinimui. Indirekcijos operatorius paskirstomas C #, kitaip nei C ir C ++. Kai indirection operatorius pritaikomas nuliniam žymekliui, tai lemia įgyvendinime apibrėžtą elgesį. Kadangi šis operatorius naudojamas nesaugiame kontekste, kompiliavimo metu prieš jį turėtų būti naudojamas raktinis žodis nesaugus. Šis apibrėžimas buvo parašytas atsižvelgiant į C #

Kas yra indirection operatorius? - apibrėžimas iš techopedijos