如何使用基类作为集合值来创建实现抽象基类的STL集合,而不使用指针?
Boost中有什么东西允许我实现它吗?该集合专门是地图。
由于
答案 0 :(得分:4)
你无法完全避免指针。如果要避免Object slicing,则必须在集合中存储指针。 Boost有一个容器可以很好地隐藏指针:ptr_map
答案 1 :(得分:1)
答案 2 :(得分:0)
你不能
考虑编译器如何生成代码来执行此操作? 没有指针意味着必须在静态数组中的“集合本身”中分配存储。但子类所需的存储可能会改变!那么编译器将如何做呢? ......它不能......