C++:在合并对象时管理指针
C++: Managing Pointers while merging objects
我有许多表示多边形的对象。我有一组指向自己的多边形的指针。
遍历每对指针,如果多边形重叠成一个新的多边形,我会合并它们。我现在让对中的两个指针指向合并的多边形,以便能够再次合并它并在两个指针中进行更改。
现在我的问题很快就出现在三个对象上:
- 如您所料,A* 指向 A,B* 指向 B,C* 指向 C。
- 我合并了 A* 和 B*,现在都指向 AB
- 然后我合并了 A* 和 C*,现在都指向 ABC。
我的问题是现在 B* 不知道 AB 再次合并并且仍然指向 AB,这不是我想要的。
我想要的是行为而不是指针,所以我可以自由地提出任何建议。遗憾的是,唯一的限制是不允许我使用 C++11 或更高版本。
合并 A 和 C
时,合并属于同一多边形 A(和 C)所属的所有多边形。
这意味着,在合并 A*->AB 时,您还应该合并 B*->AB。
我只会通过"向前合并"来解决这个问题。
A* 指向 A,B* 指向 B.很好,这不会改变。合并 A 和 B 时,将两者都指向 AB。:
A* -> A -> AB <- B <- B*
现在使用 C*/C :
A* -> A -> AB <- B <- B*
|
V
C* -> C -> ABC
相关文章:
- 使用"Task"函数指针队列定义作业管理器
- 向量成员在管理类指针C++队列时丢失
- 函数指针和 lambda 的内存管理
- 如何将指针从unique_ptr传递到另一个对象并管理寿命
- 哪些资源是由智能指针管理的,而它们的内存不是由new分配的
- 底层指针和内存管理
- 坚持将双指针管理的内存复制到二维数组
- 智能指针,避免使用QNetworkAccessManager时进行手动内存管理
- 循环和内存管理中的指针算术C++?
- 可以通过非原始指针来增强容器矢量管理内存
- 管理到本机值类转换:强制转换指针是否安全?
- 指针的一系列指针:管理不同语言的字符串
- C 11 / 14-是否有针对其他地方管理的资源的原始指针包装器
- 编写安全包装类以管理用户定义对象的指针
- C++ |方法范围指针管理
- 如何在将指针传递给库函数时处理内存管理
- C++管理单一实例中的堆/指针
- 学生成绩管理系统 在C++中,表达式必须具有指向对象类型的指针
- 内存管理指针
- C++:在合并对象时管理指针