Aracılığıyla paylaş


sizeof operatörü

Yazı tipi boyutu açısından, operand boyutunu üretir char.

sizeof unary-expression
sizeof ( type-name )

Notlar

Sonucu sizeof işleç türü olarak size_t, stddef içerme dosyasında tanımlanan tamsayı türü.H.Bu işleç, makine bağımlı veri boyutları programlarınızda belirlemekten kaçının olanak sağlar.

İşlenen sizeof aşağıdakilerden biri olabilir:

  • Tür adı.Kullanmak için sizeof bir tür adıyla adını parantez içine alınmalıdır.

  • Bir ifade.Bir ifade ile kullanıldığında sizeof ile veya parantezler olmadan belirtilebilir.İfade değerlendirilmez.

Zaman sizeof operator türünde bir nesneye uygulanan char, 1 verir.Zaman sizeof operator uygulanan bir dizi, dizi, dizi kimlik ile temsil işaretçi boyutu bayt sayısı ortaya çıkarır.Bir dizi kimlik ile temsil işaretçisinin boyutu elde etmek için parametre olarak kullanan bir işleve aktardığınızda sizeof.Örne?in:

Örnek

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

Örnek Çıktı

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

Zaman sizeof operator uygulanan bir sınıfı, struct, veya Birliği türü, sonucu bir nesne türü bayt sayısıdır. plus üyeleri üzerinde sözcük sınırlarına hizalamak için herhangi bir doldurma eklendi.Sonuç depolama gereksinimlerini tek tek üyelere ekleyerek hesaplanan boyut mutlaka gelmiyor./Zp derleyici seçeneği ve pack pragma üyeleri için hizalama sınırlarını etkiler.

sizeof İşleci hiçbir zaman boş bir sınıf için bile 0 verir.

sizeof İşleci aşağıdaki işlenenle kullanılamaz:

  • İşlevler.(Bununla birlikte, sizeof işaretçiler işlevlerine uygulanabilir.)

  • Bit alanları.

  • Tanımsız sınıfları.

  • The type void.

  • Dinamik olarak ayrılan diziler.

  • Dış diziler.

  • Tamamlanmamış türleri.

  • Parenthesized adları eksik türleri.

Zaman sizeof işleci başvurusu uygulanan, aynı sonucu gibi sizeof nesneye uygulanmış.

Unsized bir dizi bir yapı son öğesinin ise sizeof operatörü yapısı olmasaydı dizi boyutunu döndürür.

sizeof Bir deyim kullanan bir dizideki öğelerin sayısını hesaplamak için sık sık işleci kullanılır:

sizeof array / sizeof array[0]

Ayrıca bkz.

Başvuru

Tekli operatörler ifadelerle

C++ anahtar sözcükler