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變量到函數結尾才釋放就是好的