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