Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Kelas Kosong di C Mempunyai Saiz 1?

Mengapa Kelas Kosong di C Mempunyai Saiz 1?

Susan Sarandon
Susan Sarandonasal
2024-11-03 21:25:29821semak imbas

Why Does an Empty Class in C   Have a Size of 1?

Memahami Saiz Kelas Kosong dalam C

Dalam C , saiz kelas kosong bukan sifar. Ini mungkin kelihatan berlawanan dengan intuisi pada mulanya, tetapi ada sebab penting di sebaliknya.

Mengapa Saiz Bukan Sifar

Piawaian C melarang objek dan kelasnya daripada mempunyai saiz 0. Sekatan ini menghalang dua objek berbeza daripada berkongsi alamat memori yang sama. Malah kelas kosong mesti mempunyai saiz sekurang-kurangnya 1 untuk memastikan alamat objek unik.

Dalam contoh yang disediakan:

<code class="cpp">#include <iostream>

class Test
{
};

int main()
{
    std::cout << sizeof(Test);
    return 0;
}</code>

Outputnya ialah 1 kerana kelas Ujian, walaupun kosong , mempunyai saiz 1 untuk mematuhi standard. Setiap kelas dalam C , tanpa mengira kandungannya, mesti mempunyai saiz bukan sifar untuk mengelakkan kemungkinan konflik alamat memori.

Atas ialah kandungan terperinci Mengapa Kelas Kosong di C Mempunyai Saiz 1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn