#include <iostream>
class A {};
class B { char x; };
int main()
{
std::cerr << sizeof(A) << " " << sizeof(B) << std::endl;
}
私はそれは空のクラスのサイズを聞いて、共通のインタビューの質問だということを知っている - と私は答えは一つです知っています。
私の質問は空のクラス(空であると思います)の "1"バイトで何が保持されているのですか?コンパイラは内部的に何をしてsizeof B
がsizeof A
この場合?
答えを知るのではなく、完全に理解したいと思います。
これは、コンパイラの実装によって異なります。なぜあなたは気にしますか? –
誰がインタビューでそれを聞いていますか?それはひどいインタビューの質問です。 – nmichaels
ここをクリックしてください:http://stackoverflow.com/questions/621616/c-what-is-the-size-of-an-object-of-an-empty-class – a1ex07