gpt4 book ai didi

c++ - 检测类型是否为关联容器

转载 作者:行者123 更新时间:2023-11-30 04:07:53 25 4
gpt4 key购买 nike

我正在编写一些容器操作函数。通常情况下,类似 vector 的容器(如 vector、list、deque、array 等)有一个版本,而关联容器(如 map、multimap、unordered_map 等)有另一个版本。我想知道什么是“最好的方法”来检测一个类是否是一个关联容器。也许像使用 BOOST_MPL_HAS_XXX_TRAIT_DEF 检测 mapped_type typedef 的存在?

最佳答案

这是一个编译时测试,因此没有 CPU/内存效率方面的选择“最佳方式”。如果您通过使用 boost 检查 mapped_type 使其工作,并且满足您的需求,则没有理由寻找任何不同的东西,尽管肯定有无 boost 的替代方案(例如参见 here )

请注意,尽管 setunordered_set 被标准视为关联容器,但没有 mapped_type 成员 - 如果您想要包括它们,您可以测试 key_type

关于c++ - 检测类型是否为关联容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com