C++共通の質問ですが、コンパイラによって動作が違うかもしれないので、
(VCにて作業しているので)ここに書かせてもらいます。

STL のdeque や vectorにおいて resize();で配列数を増やして
/* vector に入れるコンテナのタイプは適当なクラス*/

v[3].m=value;
このようにアクセスできますが、たとえば
v.resize(5);//要素数5
v[4].m=100;//コンテナの最後にアクセス これは問題なし
i=v[4].m;//iには100が入る
v.pop_front():;先頭のコンテナ除去


i=v[4].m;//iには何が入る?????
v[4].m=value;//<-koko

についていったいどういうことがおきるのでしょうか?

1 メモリ保護エラー
2 削除したのは先頭だけどINDEXとのリンクは保持してるから
  iには100がはいるし読み出しもOK
3 resizeによって多めにメモリを確保しているので、メモリ保護エラーには
  ならないが、不可思議なことがおこる。
4 神様だけが知っている。

ご存知の方がいらしたら教えてください