OUString is mutable?

Noel Grandin noel at peralex.com
Mon Oct 1 02:40:38 PDT 2012

On 2012-10-01 10:15, Stephan Bergmann wrote:
> Note that the rtl string functionality had originally been designed, 
> arguably somewhat naively, after java.lang.String.  On the Java 
> platform, immutability of String is an important security measure. 
> While that argument is irrelevant in a C/C++ context, immutability is 
> also an important concept when reasoning about multi-threaded code. 
> Therefore, the distinction between OUString and OUStringBuffer IMO 
> does make sense after all.

I don't see how the design helps you in a multithreaded context.
If you share an OUString instance between two threads, either thread 
could assign to it, replacing it's contents, and invalidating what the 
other thread sees.
So it's really not any safer than using an OUStringBuffer.
It just gives the illusion of safety.

Disclaimer: http://www.peralex.com/disclaimer.html

More information about the LibreOffice mailing list