Abool
は C++ では 1 バイトを使用します。しかし、なぜ abool[8]
は 1 バイトではなく 8 バイトを取るのでしょうか? 1 バイトには 8 ビット分のスペースがあります。
-Os
フラグを使用してGCCでこれをコンパイルしました:
#include <iostream>
using namespace std;
class Foo
{
public:
bool m_bool[8];
};
int main ()
{
cout << "Size: " << sizeof(Foo) << " byte(s) " << endl;
return 0;
}
「サイズ:8バイト」を返します。
それを最適化する方法はありますか?