【发布时间】:2012-11-17 23:54:16
【问题描述】:
我发现了一些类似这样的 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;
}
【问题讨论】:
-
关于这个的许多问题......例如stackoverflow.com/questions/10051782/…
-
投票以完全重复的方式关闭。如果这真的被认为与其他此类问题不同,那么唯一的其他意见太本地化了。
标签: c++ buffer-overflow