What's the purpose of QString? <p>I'm a newcomer to C++ and Qt. I've been messing around with Qt Creator for a few days, and what really struck me was how the GUI components only accepted a <code>const QString&amp;</code> rather than a <code>string</code> or an <code>std::wstring</code>. To stay consistent with this, I've been trying to accept and return <code>QString</code> from most of my function calls, however I find myself converting to and from <code>std::string</code> a lot to use most of the standard library facilities.</p> <p>My question here is, what's the purpose of <code>QString</code> if <code>std::string</code> is part of the standard library? I guess this would be beneficial to someone who was already using Qt and didn't want another dependency on <code>#include &lt;string&gt;</code>, but to be honest you'll need <code>std::string</code> if you want to do anything useful with your application. (This especially goes for <code>QChar</code>, since <code>char</code> is a builtin.)</p> <p>Can someone explain to me why this is not reinventing the wheel and how this helps being cross-platform?</p>