更新集合中的指针以指向C ++中具有不同属性的等效对象?

时间:2015-11-20 17:29:48

标签: c++ pointers set

如果我有一组指针set<A*, comp> as,当我插入一个指针as.insert(p),指向一个等效的对象但具有不同的属性时,如何使用insert()返回的迭代器来更新指针指向新对象?

对象a1具有名称&#34; a&#34;和大小5

对象a2具有名称&#34; a&#34;和大小10

对象a3的名称&#34; a&#34;和大小25

该集合按对象名称排序。

as.insert(&a1);
as.insert(&a2);
as.insert(&a3);

我希望set中的指针指向最后插入的对象a3,大小为25。

由于

1 个答案:

答案 0 :(得分:2)

您无法更改_Pragma ( "calls" #ifdef CND1 "fun1_1 fun1_2" #endif ) 中指针指向的内容。允许这会破坏set中存在的隐式排序。

您需要删除旧指针并插入新指针。

set