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

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

Susan Sarandon
發布: 2024-11-03 21:25:29
原創
889 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板