Udostępnij za pośrednictwem


Operatora sizeof

Plony rozmiar jego operandu w odniesieniu do wielkości typu char.

sizeof unary-expression
sizeof ( type-name )

Uwagi

Wynik sizeof operator jest typu size_t, zdefiniowane w pliku dołączanego STDDEF typ integralny.H.Ten operator pozwala uniknąć, określając rozmiary danych zależnych od komputera w programach.

Operand do sizeof może być jedną z następujących czynności:

  • Nazwa typu.Aby użyć sizeof z wpisz nazwę, nazwa musi być ujęty w nawiasy.

  • Wyrażenie.Gdy używana z wyrażenia, sizeof można określić, z lub bez nawiasów.Wyrażenie nie jest sprawdzane.

Gdy sizeof operator jest stosowany do obiektu typu char, plonach 1.Gdy sizeof operator jest stosowane do tablicy, plonach całkowita liczba bajtów w tej tablicy, a nie rozmiar wskaźnika, reprezentowany przez identyfikator tablicy.Aby uzyskać rozmiaru wskaźnika, reprezentowany przez identyfikator tablicy, przekazać je jako parametr do funkcji, która korzysta z sizeof.Na przykład:

Przykład

// 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;
}

Przykładowe dane wyjściowe

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

Gdy sizeof operator jest stosowany do klasy, struct, lub Unii typu, wynikiem jest liczba bajtów w obiekcie typu plus dopełniającymi dodaje się dostosowanie członków na granice programu word.Wynik nie muszą odpowiadać rozmiarowi obliczana przez dodanie wymagania poszczególnych członków w zakresie magazynowania./Zp opcję kompilatora i pack pragma wpływają na wyrównanie granice dla członków.

sizeof Operator nigdy nie daje 0, nawet dla klasy puste.

sizeof Operatora nie można korzystać z następujących argumentów:

  • Funkcje.(Jednak sizeof mogą być stosowane do wskaźników do funkcji.)

  • Bit pola.

  • Niezdefiniowany klas.

  • The type void.

  • Tablice przydzielany dynamicznie.

  • Tablice zewnętrznych.

  • Typy niekompletne.

  • Ujętego w nawiasy nazwy typów niekompletne.

Gdy sizeof operator jest stosowane do odwołania, wynik jest taka sama jak gdyby sizeof gdyby zastosowano wobec samego obiektu.

Jeśli tablica niesortowana według wielkości jest ostatni element struktury, sizeof operator zwraca rozmiar struktury bez tablicy.

sizeof Operator jest często używany do obliczania liczby elementów w tablicy przy użyciu wyrażenia formularza:

sizeof array / sizeof array[0]

Zobacz też

Informacje

Wyrażenia z operatory jednoargumentowe

Słów kluczowych języka C++