【发布时间】:2011-10-10 11:13:26
【问题描述】:
有两个 STL 向量,一个带有对象,第二个带有指向对象的指针。
v_objects = [obj1, obj2, obj3, obj4]
v_ptr = [ptr_to_obj1, ptr_to_obj2, ptr_to_obj3, ptr_to_obj4]
Vector v_ptr 用于对 v_objects 中的元素进行排序。假设向 v_objects 添加了一些东西,所以它看起来像:
v_objects = [obj1, obj2, obj3, obj4, obj5]
假设 v_objects 在插入后被重新分配到其他地方并且 v_ptr 中的指针无效。现在我想使用它们在 v_ptr 中的指针对对象进行排序,但它们是无效的。是否有可能创建一些聪明的指针,它们指向与重新分配之前相同的对象(使用 stl::vector)?
【问题讨论】:
-
为什么你甚至有 2 个向量呢?一个还不够吗?