您的位置:首页 > 其它

QPixmap的深拷贝和浅拷贝

2015-11-21 15:13 561 查看
在最近的项目中用到了QPixmap,涉及多线程操作QPixmap对象,为了简单,比如在线程1中构造了一个QPixmap对象,传入线程2,这时调用的函数为operator=(const QPixmap & pixmap),对于不了解QPixmap类的这个函数,误以为会进行深拷贝,导致后面的程序出错问题!该函数利用了浅拷贝,保存了有效数据的地址!如果要进行深拷贝,则需要调用QPixmap的另外一个成员函数copy!

下面对常用来拷贝QPixmap的函数进行了说明:

[cpp] view
plaincopy

QPixmap::QPixmap(const QPixmap & pixmap) //拷贝构造函数,深拷贝

QPixmap & QPixmap::operator=(const QPixmap & pixmap) //浅拷贝

QPixmap QPixmap::copy(const QRect & rectangle = QRect()) const //深拷贝

FROM: http://blog.csdn.net/a812073479/article/details/46123761
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: