C++ set<T> 最合适的解决方案是什么?
C++ set<T> What is the most appropriate solution?
我无法使用 Class 或使用 C++ Set 的 Struct。我在 Internet 和 Whosebug 上进行了搜索,但找不到示例。
Class从理论上讲,由于我的调用,似乎不可能找到除 int 和字符串样本以外的样本。望有朋友帮忙
感谢会回复的朋友
using namespace std;
struct DemoData
{
int id;
string Pairs;
double Price;
};
int main()
{
DemoData myDemoDara ;
myDemoDara.id = 1; myDemoDara.Pairs = "GBPJPY"; myDemoDara.Price = 9.34;
set<DemoData> setVeri ; //**It gives errors during compilation.**
setVeri.insert(listem);
return 0;
}
您必须为您的结构 DemoData
提供自定义 operator <
struct DemoData
{
int id;
string Pairs;
double Price;
bool operator < (const DemoData& other) const {
return std::tie( id, Pairs, Price) <
std::tie( other.id, other.Pairs, other.Price) ;
}
};
我无法使用 Class 或使用 C++ Set 的 Struct。我在 Internet 和 Whosebug 上进行了搜索,但找不到示例。 Class从理论上讲,由于我的调用,似乎不可能找到除 int 和字符串样本以外的样本。望有朋友帮忙
感谢会回复的朋友
using namespace std;
struct DemoData
{
int id;
string Pairs;
double Price;
};
int main()
{
DemoData myDemoDara ;
myDemoDara.id = 1; myDemoDara.Pairs = "GBPJPY"; myDemoDara.Price = 9.34;
set<DemoData> setVeri ; //**It gives errors during compilation.**
setVeri.insert(listem);
return 0;
}
您必须为您的结构 DemoData
operator <
struct DemoData
{
int id;
string Pairs;
double Price;
bool operator < (const DemoData& other) const {
return std::tie( id, Pairs, Price) <
std::tie( other.id, other.Pairs, other.Price) ;
}
};