Sdílet prostřednictvím


Operátor sizeof

Velikost jeho operand typu velikost dává char.

sizeof unary-expression
sizeof ( type-name )

Poznámky

Výsledek sizeof operátor je typu size_t, definované v souboru zahrnout STDDEF integrálního typu.H.Tento operátor umožňuje zabránit zadání velikosti dat závislých na počítači v programech.

Operand na sizeof může být jeden z následujících:

  • Název typu.Použití sizeof s názvem typ, název musí být uzavřeny v závorkách.

  • Výraz.Při použití výrazu, sizeof lze zadat s nebo bez závorek.Výraz nelze vyhodnotit.

Při sizeof operátor je aplikované na objekt typu char, je výsledkem 1.Když sizeof operátor je použita matice, ji dává celkový počet bajtů v dané pole velikost představuje identifikátor pole ukazatel myši.Chcete-li získat velikost ukazatele představuje identifikátor pole jej předá jako parametr funkce, která používá sizeof.Příklad:

Příklad

// expre_sizeof_Operator.cpp
// compile with: /EHsc
#include <iostream>

size_t getPtrSize( char *ptr )
{
   return sizeof( ptr );
}

using namespace std;
int main()
{
   char szHello[] = "Hello, world!";

   cout  << "The size of a char is: "
         << sizeof( char )
         << "\nThe length of " << szHello << " is: "
         << sizeof szHello
         << "\nThe size of the pointer is "
         << getPtrSize( szHello ) << endl;
}

Vzorový výstup

The size of a char is: 1
The length of Hello, world! is: 14
The size of the pointer is 4

Při sizeof operátor je použito třídy, struct, nebo unie typu, výsledkem je počet bajtů v objektu typu plus čalounění přidané členy na slovo hranice zarovnání.Výsledek neodpovídá velikosti vypočítá přičtením úložiště požadavky jednotlivých členů./Zp volba kompilátoru a pack pragma vliv hranice zarovnání pro členy.

sizeof Operátor nikdy výnosů 0 i pro prázdnou třídu.

sizeof Operátor nemůže být použit s operandy následující:

  • Funkce.(Však sizeof lze použít odkazy na funkce.)

  • Bit pole.

  • Nedefinovaný tříd.

  • The type void.

  • Dynamicky přidělený matice.

  • Vnější pole.

  • Neúplné typy.

  • V závorce názvy typů neúplné.

Když sizeof operátor u odkazu, výsledek je stejný jako sizeof bylo aplikované na objekt samotný.

Pokud je pole podle velikosti netříděno poslední prvek struktury, sizeof operátor vrací velikost struktury bez matice.

sizeof Operátor se často používá k výpočtu počtu prvků pole pomocí výrazu ve formuláři:

sizeof array / sizeof array[0]

Viz také

Referenční dokumentace

Výrazy s unární operátory

Klíčových slov jazyka C++