在unordered_set中找不到()结构属性是因为unordered_set是C++标准库中的一种容器,它是基于哈希表实现的,用于存储唯一的元素集合。unordered_set中的元素是无序的,不能通过结构属性来访问。
unordered_set提供了一些常用的操作,如插入元素、删除元素、查找元素等。可以使用insert()函数向unordered_set中插入元素,使用erase()函数删除元素,使用find()函数查找元素。
如果要在unordered_set中查找结构属性,可以使用自定义的比较函数或者使用其他数据结构,如map或unordered_map来实现。比如,可以使用unordered_map来存储结构属性和对应的值,然后通过查找unordered_map中的键来获取对应的值。
以下是一个示例代码:
#include <iostream>
#include <unordered_map>
struct MyStruct {
int property1;
std::string property2;
};
int main() {
std::unordered_map<MyStruct, int> myMap;
MyStruct key;
key.property1 = 123;
key.property2 = "abc";
myMap[key] = 456;
// 查找结构属性
auto it = myMap.find(key);
if (it != myMap.end()) {
std::cout << "找到了结构属性,对应的值为:" << it->second << std::endl;
} else {
std::cout << "未找到结构属性" << std::endl;
}
return 0;
}
在上述示例中,我们使用unordered_map来存储结构属性和对应的值,通过find()函数查找结构属性,并输出对应的值。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云