博客 / 詳情

返回

c++中qt字符串鏈式調用的問題

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

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.