写时复制,意思就是说当你改变该容器内容的时候它才复制。举个例子:
std的复制:std::vector<int> v1; std:vector<int> v2; v1 = v2; v1和v2是不同的内存空间;首先new一块内存,再将数据memcpy过去.
qt的复制:QVector<int> qv1; QVector<int>qv2; qv1 = qv2; qv1和qv2是相同的内存空间, 当qv1.append(1)时,qv1再new一块内存,将值赋值为1.
总结:就是 真正申请内存的时机的区别,一个在复制时就开辟内存,一个在改变内容时才开辟内存.有点像单列模式里面的饿汉和饱汉的区别。