首頁 >後端開發 >C++ >為什麼 C 中的空類別的大小為 1?

為什麼 C 中的空類別的大小為 1?

Susan Sarandon
Susan Sarandon原創
2024-11-03 21:25:29972瀏覽

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

理解 C 中空類的大小

在 C 中,空類的大小不為零。乍看之下似乎違反直覺,但背後有一個關鍵原因。

為什麼大小不為零

C 標準禁止物件及其類別具有大小為 0。此限制可防止兩個不同的物件共享相同的記憶體位址。即使是空類,其大小也必須至少為 1,以確保物件位址唯一。

在提供的範例中:

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

class Test
{
};

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

輸出為 1,因為 Test 類別儘管是空的,大小為 1 以符合標準。 C 中的每個類,無論其內容如何,都必須具有非零大小,以避免潛在的記憶體位址衝突。

以上是為什麼 C 中的空類別的大小為 1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn