Domov Rozvoj Co je velikost operátora? - definice z techopedie

Co je velikost operátora? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená Sizeof Operator?

Operátor Sizeof v C # je operátor používaný k určení velikosti (v bajtech) nespravovaného typu, který není referenčním typem.

Při vývoji aplikací, které vyžadují dynamické přidělování paměti, je velmi běžné najít paměť přidělenou určitému typu. Je velmi nebezpečné předpokládat velikost typu a používat pevně zakódovanou hodnotu v aplikaci, protože při přenosu do různých systémů může dojít k poškození aplikace. Operátor sizeof se v takových případech používá k nalezení velikosti složeného datového typu, jako je struct. Lze jej však použít pouze pro výpočet velikosti bajtů typů hodnot a nikoli pro referenční typy kvůli virtualizovanému systému rozložení typů rámce .NET.

Operátor sizeof pomáhá při přidělování paměti pro datové struktury, které jsou předávány ze spravované aplikace na nespravovaný kód, jako je Interop, vlastní serializace atd. Operátoři zvyšování a snižování, kteří pracují na ukazatelích, používají interně operátora sizeof ke zvýšení nebo snížení adresy obsažené v v proměnné ukazatele o hodnotu rovnající se počtu bytů obsazených typem ukazatele. Velikost operátoru pomáhá zlepšit čitelnost kódu.

Techopedia vysvětluje Sizeof Operator

Operátor sizeof je unární operátor, který bere parametr singe a používá se s klíčovým slovem "sizeof". Na rozdíl od C ++ je operátor sizeof konstruktem kompilace, takže parametr musí být uzavřený typ známý během kompilace, nikoli proměnné. Parametr může být také výčet, ukazatel nebo uživatelem definovaná struktura bez jakýchkoli vlastností pole nebo typu odkazu. Pro určité předdefinované typy vrátí operátor sizeof konstantní hodnotu, zatímco jeho použití u zbývajících typů má za následek hodnoty založené na implementaci.

Například, když je operátor sizeof spuštěn s integer (int) jako parametr, vždy vrací číslo čtyři, což znamená, že proměnná typu integer zabírá čtyři bajty paměti.

Když je operátor sizeof aplikován na operand typu struct, vyvolá celkový počet bytů obsazených strukturou, která zahrnuje výplňové bajty použité pro jeho vnitřní zarovnání. Pokyny, které je třeba dodržovat při používání operátoru sizeof s struct, zahrnují:
  • Měla by být volána v nebezpečném bloku
  • Proměnná struct nesmí obsahovat člena referenčního typu
  • Struktura nesmí být obecný typ hodnoty
Tato definice byla napsána v kontextu C #
Co je velikost operátora? - definice z techopedie