正如标题所说,是否允许?如果没有,他们是否共享相同的接口或抽象类?我没有找到任何在线文件的参考.但看起来unordered_map和map正在使用相同的功能.
Use*_*ess 13
不,它们完全不同,即使你强行使用它reinterpret_cast,它也会在运行时出现可怕的错误(即可怕的未定义行为).
它们都是STL容器,因此故意具有一致的接口.这并不意味着它们在内部是相同的.
他们是两种不相关的类型.如果你想基于另一个构造一个,你需要使用带有迭代器范围的构造函数(C++ 11):
template <class InputIterator>
map(InputIterator first, InputIterator last,
const Compare& comp = Compare(), const Allocator& = Allocator());
template <class InputIterator>
unordered_map(InputIterator f, InputIterator l,
size_type n = see below,
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |