std::list vs std::vector