ISO C ++(11)では、非静的クラスのプライベートクラスメンバー変数を最適化できますか?これは検出できます:
class X { int x; };
assert (sizeof(X) >= sizeof(int));
しかし、私は上記の主張を要求する条項を知りません。
明確にするために:(a)上記のアサーションを保証する条項がC++標準にありますか。
(b)xのエリジオンを検出する他の方法を誰かが考えることができますか?[オフセット?]
(c)(a)と(b)にもかかわらず、最適化はとにかく許可されていますか?
クラスが関数に対してローカルである場合は最適化が可能であると感じていますが、そうでない場合は可能ではありません(ただし、明確な引用が必要です)。