#include <iostream>
#include <map>
class MyClass {
public:
int id;
MyClass(int i) : id(i) {}
// 重载 < 运算符以便 std::map 可以比较 MyClass 对象
bool operator<(const MyClass& other) const {
return id < other.id;
}
// 可以添加其他成员函数和运算符重载
};
int main() {
// 声明一个 std::map,其 key 和 value 都是 MyClass 对象
std::map<MyClass, MyClass> my_map;
// 插入 100 个对象
for (int i = 0; i < 100; ++i) {
// 这里假设 key 和 value 的 id 相同,仅作为示例
MyClass key(i);
MyClass value(i);
my_map.insert(std::make_pair(key, value));
}
// 遍历 map 并打印内容
for (const auto& pair : my_map) {
std::cout << "Key ID: " << pair.first.id << ", Value ID: " << pair.second.id << std::endl;
}
return 0;
}