假设我有一个整数向量 [1,2,3,4,5,6,7]。据我所知,向量有一个内存地址@v,然后如果我们想访问一个元素i,我们只需要执行@v+i*size_of_element。也许我错了, std::vector 是以不同的方式实现的。
如果我想删除前 4 个元素并最终得到 [5,6,7],我是否只需要更新 @v 并清除元素,在这种情况下它们只是整数,所以我假设它将是 O(1)。
我的假设是否错误,有什么方法可以使用向量在 C++ 中实现此目的,即更新向量的起始地址以“清除”前 n 个元素?
如果没有,是否可以使用 std::list ?