热文隐式共享的QJsonArray对象,非const遍历会导致一次内存拷贝
直接看一个例子,先初始化一个大的arr,然后将其赋值给arr2和arr3,此时我们观察对象的d指针所指向的内存。 arr2和arr指向的内存是一致的,arr3和obj["arr"]指向的内存是一致的,所以arr2和arr3都是隐式共享的对象。对于隐式共享的对象如果要修改的时候会拷贝一份数据,所以对于非const遍历隐式共享的数组会造成一次拷贝,非隐式共享对象没有这个问题。所以,对比const和...
直接看一个例子,先初始化一个大的arr,然后将其赋值给arr2和arr3,此时我们观察对象的d指针所指向的内存。 arr2和arr指向的内存是一致的,arr3和obj["arr"]指向的内存是一致的,所以arr2和arr3都是隐式共享的对象。对于隐式共享的对象如果要修改的时候会拷贝一份数据,所以对于非const遍历隐式共享的数组会造成一次拷贝,非隐式共享对象没有这个问题。所以,对比const和...