std::unique(v.begin(), v.end())
是一种常见的用法,用于移除容器中相邻重复的元素,并返回指向新的逻辑结尾的迭代器。
下面是一个示例代码:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 2, 3, 3, 4, 5, 5};
// 移除相邻重复的元素
auto newEnd = std::unique(numbers.begin(), numbers.end());
// 输出去重后的容器内容
for (auto it = numbers.begin(); it != newEnd; ++it) {
std::cout << *it << " ";
}
return 0;
}
运行此代码将输出:1 2 3 4 5
,表示容器中相邻重复的元素已被移除。注意,这并不会改变容器的大小,只是返回了一个指向新的逻辑结尾的迭代器 newEnd
。
内容由零声教学AI助手提供,问题来源于学员提问