使用 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 结构体,并根据 clientCbAddrclientName 属性确定它们是否相等。

使用示例:

以下示例展示了如何使用 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 来存储和比较自定义结构体。这对于需要根据多个属性进行比较的情况非常有用。

C++ 使用 std::map 比较 tag_ClientCBS 结构体

原文地址: https://www.cveoy.top/t/topic/fdHo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录