【发布时间】:2020-08-07 06:30:55
【问题描述】:
我有一个名为ParsedFlag 的结构向量;
struct ParsedFlag {
std::string flag, value;
ParsedFlag init(std::string f, std::string v)
{
flag = f;
value = v;
return *this;
}
}
现在,我有重复的条目,如下所示:
(gay, yes)
(verbose, haha ok)
(desc, yeah okay)
(desc, yeah okay)
(a, 2)
(a, 2)
(c, c)
(f, f)
(g, 1)
(a, a)
(b, b)
(c, 1)
我的目标是删除所有已存在的重复项:(desc, yeah okay)、(a, 2)。
我该怎么做?
【问题讨论】:
-
首先,我将在 ParsedFlag 中实现
==比较运算符。那么你应该可以使用 std::vector::erase 方法 -
StackOverflow 上有各种针对此问题的问题。就像在保持排序顺序的同时删除所有重复项或删除重复项并对它们进行排序一样。您对这些解决方案有何问题?