void foo(int* begin, int* end);
って関数にstd::vector<int> v のbeginとendを入れたいときどう書いてる?
foo(&*v.begin(), &*v.begin() + v.size()); は悲しくなる。