次のようなことを行う C++ コードをいくつか見つけました。
struct Test
{
int a[128];
char b[768];
};
int main()
{
Test test;
for( int i = 0; i < 200; ++i)
test.a[i] = 1;
return 0;
}
私はそれが間違っていることに気づきます。しかし、私は効果がどうなるか知りたいですか?GCC 4.3.4 では、Test::b 配列はそのままです。それは保証されていますか?ここで何が起きてるの?
読書も同じ効果?例えば
int main()
{
Test test;
for( int i = 0; i < 200; ++i)
int z = test.a[i];
return 0;
}