boost::unordered_map参数类型
时间: 2023-04-10 21:02:57 浏览: 63
boost::unordered_map参数类型是一个模板类,可以接受两个参数,第一个参数是键的类型,第二个参数是值的类型。例如,如果我们想要创建一个键为字符串类型,值为整数类型的unordered_map,可以这样写:
boost::unordered_map<std::string, int> myMap;
注意,这里使用了boost库中的unordered_map,而不是STL中的std::unordered_map。
相关问题
boost::unordered_map
boost::unordered_map 是一个 C++ 的库,它提供了一种高效的无序哈希表的实现方式,可以用来存储键值对。它的使用方法类似于标准库中的 std::unordered_map,但是在性能上有所提升。
c++11标准下boost1.76版本中 boost::string_view 能当做 std::unordered_map的key
是的,C++11标准下的Boost 1.76版本中,boost::string_view可以作为std::unordered_map的key。这是因为boost::string_view的底层实现是一对指针,它不拥有字符串数据,只是对字符串进行了视图封装。因此,boost::string_view可以很高效地作为std::unordered_map的key。
使用boost::string_view作为std::unordered_map的key时,需要注意以下几点:
1. 需要包含<boost/utility/string_view.hpp>头文件。
2. std::unordered_map的哈希函数需要使用boost::hash<boost::string_view>。
3. std::unordered_map的相等比较函数需要使用boost::string_view::operator==()。
下面是一个示例代码:
```c++
#include <boost/utility/string_view.hpp>
#include <unordered_map>
int main()
{
std::unordered_map<boost::string_view, int, boost::hash<boost::string_view>> my_map;
my_map.emplace("hello", 1);
my_map.emplace("world", 2);
return 0;
}
```
在上面的示例代码中,我们使用boost::string_view作为std::unordered_map的key,并使用boost::hash<boost::string_view>作为哈希函数。在插入元素时,我们使用std::unordered_map的emplace函数。