Rumah > Artikel > pembangunan bahagian belakang > Mengapa Kelas Kosong di C Mempunyai Saiz 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!