Casa Sviluppo Cos'è l'operatore sizeof? - definizione da techopedia

Cos'è l'operatore sizeof? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Sizeof Operator?

L'operatore Sizeof, in C #, è un operatore utilizzato per determinare la dimensione (in byte) di un tipo non gestito che non è un tipo di riferimento.

Durante lo sviluppo di applicazioni che comportano l'allocazione dinamica della memoria, è molto comune trovare la memoria allocata a un tipo. È molto pericoloso assumere la dimensione di un tipo e utilizzare il valore hardcoded nell'applicazione, poiché ciò potrebbe interrompere l'applicazione quando viene portato su sistemi diversi. L'operatore sizeof viene utilizzato in questi casi per trovare la dimensione di un tipo di dati composto come una struttura. Tuttavia, può essere utilizzato solo per calcolare la dimensione in byte dei tipi di valore e non per i tipi di riferimento a causa del sistema di layout dei tipi virtualizzato di .NET framework.

L'operatore sizeof aiuta nell'allocazione della memoria per le strutture di dati che passano dall'applicazione gestita a codice non gestito come Interop, serializzazione personalizzata, ecc. Gli operatori di incremento e decremento, che operano su puntatori, utilizzano l'operatore sizeof internamente per incrementare o decrementare l'indirizzo contenuto in una variabile puntatore di un valore uguale al numero di byte occupati dal tipo di puntatore. L'operatore sizeof aiuta a migliorare la leggibilità del codice.

Techopedia spiega Sizeof Operator

L'operatore sizeof è un operatore unario che accetta un parametro singe e viene utilizzato con la parola chiave "sizeof". Contrariamente a C ++, l'operatore sizeof è un costrutto in fase di compilazione, quindi il parametro deve essere un tipo chiuso noto durante la compilazione, non variabili. Il parametro può anche essere un enum, un puntatore o una struttura definita dall'utente senza alcun campo o proprietà del tipo di riferimento. Per alcuni tipi predefiniti, l'operatore sizeof restituisce un valore costante, mentre il suo utilizzo con tipi rimanenti genera valori basati sull'implementazione.

Ad esempio, quando l'operatore sizeof viene eseguito con intero (int) come parametro, restituisce sempre il numero quattro per indicare che una variabile di tipo intero occupa quattro byte di memoria.

Quando l'operatore sizeof viene applicato a un operando di tipo struct, recupera il numero totale di byte occupati da uno struct, che include internamente i byte di riempimento utilizzati per il suo allineamento. Le linee guida da seguire durante l'utilizzo dell'operatore sizeof con struct includono:
  • Dovrebbe essere chiamato in un blocco non sicuro
  • La variabile struct non deve contenere un membro del tipo di riferimento
  • La struttura non deve essere un tipo di valore generico
Questa definizione è stata scritta nel contesto di C #
Cos'è l'operatore sizeof? - definizione da techopedia