On 09/11/17 15:00, Konstantin Tokarev wrote:
09.11.2017, 12:16, "Nikos Chantziaras" <rea...@gmail.com>:
On Windows, I use this:
void func(const wchar_t*);
QString s;
// ...
func(reinterpret_cast<const wchar_t*>(s.utf16()));
This saves an allocation, a copy and a free since I don't have to use
QString::toWCharArray(). However, is this actually safe? "It seems to
work," and AFAIK, QString::d->data() is already in the format and
encoding Windows excepts a wchar_t* to be. Is this correct?
Yes, if you make sure this code is used only on Windows.
You may want to add static assert that sizeof wchar_t == sizeof ushort
Yep, it's Windows-only. Although I doubt wchar_t could be anything else
than a two-byte integral type on Windows (that would break the
Universe,) I added static_asserts for sizeof and alignof.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest