QString just creates an object and doesn't care about it any more. Take a look at the stack trace you provided - there is not a single reference to Qt code there.
Because release applications don't assert. But it doesn't mean the code is correct. If the assert is there, it's because of a reason, I think it is safe to assume STL implementors knew what they were doing.Again it's something that doesn't happen in the release. so i believe the code is ok,
and has some mistaken Assertion in debug.
Bookmarks