言語への質問になりそうなのですが、質問です
typeofというものが、コンパイル環境によってあったりなかったりするのですが、
なんでVS2008にすら存在しないのでしょう?

「なんでって言われても、実装してないから実装してないんだよ」とかそんな返答を得そうな質問ですが
あまりに不思議なもので

typeof(data)::iterator it = data.begin();
ってかければどれだけ楽かと思うのですが…