[Development] Question about QCoreApplicationData::*_libpaths

Kevin Kofler kevin.kofler at chello.at
Wed Jan 20 23:15:24 CET 2016


Marc Mutz wrote:
> QString foo() { return QStringLiteral("foo"); }
> QString bar() { return Q3DeepCopy<QString>(QStringLiteral("foo")); }
> 
> You will _never_ have the plugin-unloading problem with 'bar', only with
> 'foo', and the reason is CoW: suggesting value semantics where there
> aren't any.

No, the issue is with the specific (ab)use of CoW by QStringLiteral, that 
inserts a pointer to a data segment (rather than to the heap as normal) into 
the CoW container.

        Kevin Kofler




More information about the Development mailing list