或者在我的特定情况下是一个Windows区域(HRGN)?
更新: 问题如下:
我有一个对象集合,每个对象都可以容纳一个HRGN。一旦获得的这些区域在对象被破坏时被释放。由于其中一些对象存储在std :: vector中,因此我需要定义一个assignement运算符。
到目前为止,我刚刚分配了那些HRGN,但这是一个错误。如果我复制这些对象,则每个对象都会尝试删除相同的区域,其中一个将使用不存在的区域。
答案 0 :(得分:4)
您不能复制HRGN句柄,但可以使用CombineRgn
函数获取副本。
答案 1 :(得分:3)
不,这是不可能的。 GDI对象每个对象只支持一个句柄。
答案 2 :(得分:2)
将每个HRGN包裹在任何智能指针之后建模的引用计数对象中,例如shared_ptr
。