考慮下面的代碼片斷論存儲器動態性質,C++例如
int x[] = {1,2,3};
cout << *x << endl; // 1
cout << *(x+1) << endl; // 2
cout << *(x-10) << endl; // Different number each time i run the program
爲什麼是它最後cout
一貫顯示不同數量的每次我運行編譯程序?據瞭解,結果是不可預知的,並且是未定義的,但我想它應該是一致的。它爲什麼改變?
這是不可能回答,國際海事組織。 –
這取決於您正在運行的操作系統 - 某些操作系統具有使堆棧內容無法預測的安全功能。 –
@PaulR沒有內容我希望。該位置可能是。 –