要实现C++ map中的增加、删除和查找操作,可以按照以下步骤进行:

  1. 定义一个map对象,指定key类型为tag_ClientCBS,value类型为int:
std::map<tag_ClientCBS, int> myMap;
  1. 增加操作:
tag_ClientCBS key; // 定义一个结构体对象作为key
int value; // 定义一个int作为value

// 设置key和value的值
key.run_time = 123;
key.clientPtr = someHelloWorldPtr;
key.clientName = "someClientName";
key.clientCbAddr = "someClientCbAddr";
value = 456;

// 使用insert函数将key-value对插入map中
myMap.insert(std::make_pair(key, value));
  1. 删除操作:
tag_ClientCBS keyToDelete; // 定义一个结构体对象作为要删除的key

// 设置要删除的key的值
keyToDelete.run_time = 123;
keyToDelete.clientPtr = someHelloWorldPtr;
keyToDelete.clientName = "someClientName";
keyToDelete.clientCbAddr = "someClientCbAddr";

// 使用erase函数删除指定的key
myMap.erase(keyToDelete);
  1. 查找操作:
tag_ClientCBS keyToFind; // 定义一个结构体对象作为要查找的key

// 设置要查找的key的值
keyToFind.run_time = 123;
keyToFind.clientPtr = someHelloWorldPtr;
keyToFind.clientName = "someClientName";
keyToFind.clientCbAddr = "someClientCbAddr";

// 使用find函数查找指定的key
std::map<tag_ClientCBS, int>::iterator it = myMap.find(keyToFind);

// 判断是否找到了指定的key
if (it != myMap.end()) {
    // 找到了,可以通过it->second获取对应的value
    int foundValue = it->second;
} else {
    // 没有找到
}

注意:在进行查找操作时,需要使用迭代器来获取找到的key-value对。

c++ map 的key是结构体	typedef struct 			 data 		unsigned int run_time; HelloWorldPtr clientPtr;		stdstring clientName;		stdstring clientCbAddr;	tag_ClientCBS;value 是int 怎么实现增、删查

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

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