Advertisement

Implicit Resource Sharing in Qt Frameworks

阅读量:

**隐式复制机制(Implicit Copy Mechanism)**又被称为回写机制(Replication Mechanism)。其运作如下:若两个对象共享同一份数据,则该机制将无需进行任何复制操作;反之,若某对象需要更改该数据,则系统将执行深拷贝操作。

深拷贝 :创建一个对象的完整副本。
浅拷贝 :是一种引用型副本(例如仅复制指向共享数据的指针)。

隐式共享是一种能够优化资源利用的技术机制。它通过优化资源利用的方式显著提升了程序的整体性能水平,并使程序运行更加高效可靠。该技术特别适用于那些需要频繁进行数据交换的操作环境,在函数体内采用值传递的方式能够更加高效地实现数据交换。

例:

复制代码
    QString str1 = "data";
    QString str2 = str1;
    str2[3] = 'e';
    str2[0] = 'f';
    str1 = str2;

其中,
(1)通过字符串对象 str1 的赋值操作生成新的字符串对象 str2(该过程由 QString 的复制构造函数完成),此时 str2 = "data"。在对 str2 进行赋值的时候会产生一次浅拷贝,在这种情况下会导致两个字符串对象共享同一个数据结构。
(2)随后的操作会导致产生一次深拷贝,则会使得新生成的对象指向一个新的存储空

全部评论 (0)

还没有任何评论哟~