C++ 中 如何实现 从vector<CString> vcRedist; 数组中删除重复的项 请封装成一个函数
时间: 2025-02-17 08:23:50 浏览: 32
在C++中,你可以使用`std::set`容器,它自动维护元素的唯一性,来实现从`vector<CString>`中删除重复项的功能。下面是一个简单的封装函数示例:
```cpp
#include <vector>
#include <set>
#include <algorithm>
#include <string>
// 定义一个函数,删除vector中的重复项并返回去重后的vector
std::vector<std::string> removeDuplicates(std::vector<std::string>& vecRedist) {
// 使用set替换vector,因为set内部不允许重复
std::set<std::string> uniqueSet(vecRedist.begin(), vecRedist.end());
// 转换回vector,同时去除重复
std::vector<std::string> uniqueVec(uniqueSet.begin(), uniqueSet.end());
return uniqueVec;
}
int main() {
std::vector<std::string> vcRedist = {"CSDN", "CSDN", "OpenAI", "ChatGPT"};
vcRedist = removeDuplicates(vcRedist); // 调用函数并更新vcRedist
for (const auto& item : vcRedist) {
std::cout << item << " ";
}
return 0;
}
```
在这个函数中,原始的vector `vecRedist`会被传递给函数,并通过拷贝初始化将其中的值放入`uniqueSet`中。由于set只允许每个元素出现一次,所以复制出来的set实际上就包含了唯一的元素。最后,我们将set转换回vector,得到了去重后的结果。
阅读全文
相关推荐


















