【发布时间】:2012-12-09 04:52:20
【问题描述】:
对于像std::map< std::string, std::unique_ptr< Foo >> 这样的容器,看起来emplace() 在 gcc 4.7.2 中还没有在 stdc++ 中实现。
不幸的是,我不能直接按值存储 Foo,因为它是一个抽象超类。
作为一个简单但低效的占位符,我一直在使用 std::map< std::string, Foo* > 和 std::vector< std::unique_ptr< Foo >> 进行垃圾收集。
您是否有一个临时解决方案,在 emplace() 可用后更高效且更容易替换?
【问题讨论】: