C++ でsize_tの扱いというのはどうなっているのでしょうか?
STLの解説書によると<cstdref>で「サイズの単位に使われる符号無しの型」
とありますが、#include <cstdref> としなくてもコンパイルが通ります(g++)

またsize_tはどの程度使用が推奨されるものなのでしょうか。
for( size_t i=0 ; i<vec.size() ; i++) ではなく、やはりループごとに
for( std::vector<vector<string> >::size_type i=0 ; i<vec.size() ; i++)
と書くべき? (typedef を使わなければ)