list<T>::iterator it = l.begin();
advance(it, n);

もっとも美しいかどうかわからんけど