所以可以说我有一个类型的向量,它包含一个 int 和 2 个字符串。从我的自定义类型的向量中提取整数或字符串的最佳方法是什么,以便我可以将它们与其他对象进行比较?
我尝试将一个向量推回另一个 STL 类型,但我知道
vector<sometype> v;
vector<string> v2;
for(int i = 0; i<v.size(); ++i;)
{
v2.push_back(v[i]);
}
不会工作,我真的不知道该怎么做。
所以可以说我有一个类型的向量,它包含一个 int 和 2 个字符串。从我的自定义类型的向量中提取整数或字符串的最佳方法是什么,以便我可以将它们与其他对象进行比较?
我尝试将一个向量推回另一个 STL 类型,但我知道
vector<sometype> v;
vector<string> v2;
for(int i = 0; i<v.size(); ++i;)
{
v2.push_back(v[i]);
}
不会工作,我真的不知道该怎么做。
由于您没有提供某种类型的代码,我自己编写了示例代码。
class sometype {
int a;
std::string b;
std::string c;
public:
friend bool operator==(const sometype& lhs, const sometype& rhs);
};
bool operator==(const sometype& lhs, const sometype& rhs) {
if (lhs.a == rhs.a &&
lhs.b.compare(rhs.b) == 0 &&
lhs.c.compare(rhs.c) == 0) {
return true;
}
return false;
}