Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 类似于ptr_映射容器_C++_Qt_Boost_Stl - Fatal编程技术网

C++ 类似于ptr_映射容器

C++ 类似于ptr_映射容器,c++,qt,boost,stl,C++,Qt,Boost,Stl,我决定放弃我的项目。有没有办法用容器的最佳实现来代替ptr\u映射?据我所知,它持有一个智能指针作为一个值。也许QMap可以做到这一点?std::map有什么问题?与QMap相比的优势: 标准溶液 具有更好的最坏情况时间界限(QMap是一个跳过列表,因此预期时间界限相同) 当编译器/库被清除时,64位清除(QMap使用int作为大小) 接口更类似于boost::ptr\u map 恶心,Qt集装箱。。。为什么不复制必要的Boost头并进行一些编辑呢?@larsmans我只是在我的项目中使用Qt

我决定放弃我的项目。有没有办法用容器的最佳实现来代替
ptr\u映射
?据我所知,它持有一个智能指针作为一个值。也许
QMap
可以做到这一点?

std::map有什么问题?与QMap相比的优势:

  • 标准溶液
  • 具有更好的最坏情况时间界限(
    QMap
    是一个跳过列表,因此预期时间界限相同)
  • 当编译器/库被清除时,64位清除(
    QMap
    使用
    int
    作为大小)
  • 接口更类似于boost::ptr\u map

恶心,Qt集装箱。。。为什么不复制必要的Boost头并进行一些编辑呢?@larsmans我只是在我的项目中使用Qt-lib。这是你的选择,但我建议不要使用Qt容器。我过去不得不和他们一起工作,这不是一次愉快的经历。在我离开后,项目负责人决定为了Boost而放弃Qt,除了GUI。只是出于好奇,你为什么选择停止使用Boost?Boost的ptr_容器实际上并不包含共享指针。在引擎盖下,它们是
void*
的标准容器,带有所有机械,以确保您正确访问值并管理内存。