이 가능한 중복 :효과는
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; }
는이 같은 무언가를 일부 C++ 코드를 발견 그것이 잘못되었다는 것을 깨달으십시오. 그러나 나는 그 효과가 어떻게 될 것인지 알고 싶다. GCC 4.3.4에서 Test :: b 배열은 변경되지 않았습니다. 그게 보장 되니? 여기서 무슨 일이 일어나고있는거야?
읽기와 동일한 효과입니까? 예 :
int main()
{
Test test;
for(int i = 0; i < 200; ++i)
int z = test.a[i];
return 0;
}
이에 대한 수많은 질문 ... 예. http://stackoverflow.com/questions/10051782/array-overflow-why-does-this-work – djechlin
정확한 중복으로 투표하려면 투표하십시오. 이것이 정말로 다른 질문과 다른 것으로 간주된다면 유일한 다른 의견은 너무 현지화되어 있습니다. – djechlin