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

Mengapa Kelas Kosong di C Mempunyai Saiz 1?

Susan Sarandon
Lepaskan: 2024-11-03 21:25:29
asal
890 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan