在 C++ 中,迭代器的移动操作主要包括以下几种:
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
++it; // it 现在指向第二个元素 (2)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
it++; // it 现在指向第二个元素 (2)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin() + 2; // it 指向第三个元素 (3)
--it; // it 现在指向第二个元素 (2)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin() + 2; // it 指向第三个元素 (3)
it--; // it 现在指向第二个元素 (2)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
it = it + 2; // it 现在指向第三个元素 (3)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin() + 3; // it 指向第四个元素 (4)
it = it - 2; // it 现在指向第二个元素 (2)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
it += 2; // it 现在指向第三个元素 (3)
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin() + 3; // it 指向第四个元素 (4)
it -= 2; // it 现在指向第二个元素 (2)
这些移动操作使得我们能够在容器中方便地导航和访问元素。不同类型的迭代器提供了不同级别的移动能力,这取决于它们所关联的容器类型。