Qt Implicit Sharing: Why Copying QString, QList and QMap Is Cheap Until You Write
Qt's implicit sharing makes passing QString, QList and QMap cheap until the first write. See when detach happens, which reads trigger it by accident, and why threads still need explicit locking.