【发布时间】:2011-03-08 21:17:40
【问题描述】:
根据SGI's doc on associative containers,“由于元素是根据它们的键存储的,因此与每个元素关联的键是不可变的”。我有时使用指针作为 std::map 的键,因为虽然指向的对象可能是可变的,但指针本身是常量。
QPointer 在技术上是一个模仿指针的对象,Qt's doc 说我们可以像使用指针一样使用 QPointer。由于 QPointer 对象本身在执行过程中可能会发生变化,那么它仍然可以用作 std::map 容器的键吗?
编辑 1:我不能使用 QMap,我必须坚持使用 std::map。
编辑 2:当我使用 QPointer 时代码编译。问题是我是否应该在运行时期待不愉快的意外。
【问题讨论】: