我有一个切片的指针,但我不知道在哪里以及为什么。我认为有两行代码可能会导致拼接:
唯一指针的创建:
map.insert(make_pair("ChildA", unique_ptr<Base>(new ChildA())));
并从我的唯一指针返回原始指针:
return map["ChildA"].get();
注意:
- ChildA 类继承 Base
- Base 有一个虚拟析构函数
上例中的地图类型为:
map<string, unique_ptr<Base> >
拼接是否发生在上述任一代码行中?有没有一种简单的方法可以避免它在哪里?