c++ vector截取部分

在 C++ 中,可以使用 std::vector::begin() std::vector::end() 函数来获取 vector 的迭代器。这些迭代器指向 vector 的第一个元素和最后一个元素的下一个位置,分别表示 vector 的起始和结束。

因此,如果想要截取 vector 的一段部分,可以使用 std::vector::begin() std::vector::end() 函数来获取 vector 的迭代器,然后使用迭代器范围构造函数 std::vector::vector(iterator_type first, iterator_type last) 来构造新的 vector。

例如,如果要截取 vector v 中第 3 个元素到第 7 个元素,可以使用以下代码:

std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9};
std::vector<int> v2(v.begin() + 3, v.begin() + 7);

这样,新的 vector v2 中就包含了 v 中第 3 个元素到第 7 个元素的元素。

注意,如果要截取的范围超出了 vector 的范围,会引发运行时错误。因此,在使用迭代器范围构造函数时,应该确保迭代器范围有效。

另外,C++11 标准引入了 std::vector::cbegin()std::vector::cend() 函数,它们返回 const_iterator 类型的迭代器,指向 vector 的第一个元素和最后一个元素的下一个位置。如果想要使用这些函数来

  •