c++ 有一个代码看起来挺奇怪
QString qstr = "aaa";
char* cstr = qstr.toStdString().c_str(); //err
std::string std_str = qstr.toStdString();
char *cstr = std_str.c_str(); //ok
应用链式调用时候就出错了
而离开调用就是好的
问问 chatgpt 才晓得 c_str()返回的的是 std string 的底层数据,如果 std string 曾经销毁了这个字符串就是野指针了,而离开调用的时候 std_str 变量到函数结尾才开释就是好的