this other question asking about how comparing pointers is supposed to be interpreted wrt C++ Std。

所以我想知道 C++ 标准对于在有序标准库 (STL) 容器中使用指针作为键有什么看法——即允许有
std::map<T1*, T2>
这是由于std::less还是builtin operator <的规范?

最佳答案

是的,因为它使用 std::less ,即使 < 没有,它也是产生总顺序所必需的。 ( < 将被允许将来自不同序列的不同指针视为相等,如果您插入来自不同序列的指针,这将导致 map 等的奇怪行为)。

关于c++ - 是否允许指针作为有序 STL 容器中的键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4913161/

10-09 02:14