1. ホーム
  2. c++

[解決済み] C++で空のクラスのサイズはなぜゼロではないのですか?重複

2023-03-03 05:33:27

質問

重複の可能性があります。

C++: 空のクラスのオブジェクトのサイズは何ですか?

なぜ以下のような出力になるのでしょうか? 1 ?

#include <iostream>

class Test
{
};

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

どのように解決するのですか?

標準では、サイズ 0 のオブジェクト (およびそのクラス) を許可していません。それは、2 つの異なるオブジェクトが同じメモリ アドレスを持つことが可能になってしまうからです。そのため、空のクラスでさえも (少なくとも) 1 のサイズを持たなければなりません。