C++ 使用 std::map 比较 tag_ClientCBS 结构体
使用 std::map 比较 tag_ClientCBS 结构体
本文展示了如何使用 C++ 中的 std::map 数据结构来存储和比较 tag_ClientCBS 结构体。
代码示例:
static std::map<tag_ClientCBS, int, clientCompareKey> g_clientCBS_map;
typedef struct
{
HelloWorldPtr clientPtr;
std::string clientName;
std::string clientCbAddr;
}tag_ClientCBS;
自定义比较函数:
为了使用 std::map 进行比较,需要定义一个自定义比较函数 clientCompareKey。该函数用于比较两个 tag_ClientCBS 结构体,并根据 clientCbAddr 和 clientName 属性确定它们是否相等。
使用示例:
以下示例展示了如何使用 clientCompareKey 函数对 g_clientCBS_map 进行操作。
// 创建两个 tag_ClientCBS 对象
tag_ClientCBS cbs1, cbs2;
// 初始化对象
cbs1.clientName = "client1";
cbs1.clientCbAddr = "127.0.0.1:8080";
cbs2.clientName = "client2";
cbs2.clientCbAddr = "127.0.0.1:8081";
// 插入到 map 中
g_clientCBS_map[cbs1] = 1;
g_clientCBS_map[cbs2] = 2;
// 通过键值查找元素
int value1 = g_clientCBS_map[cbs1];
int value2 = g_clientCBS_map[cbs2];
// 输出结果
std::cout << "value1: " << value1 << std::endl;
std::cout << "value2: " << value2 << std::endl;
总结:
通过定义自定义比较函数,可以使用 std::map 来存储和比较自定义结构体。这对于需要根据多个属性进行比较的情况非常有用。
原文地址: https://www.cveoy.top/t/topic/fdHo 著作权归作者所有。请勿转载和采集!