C++ 将QString转换为char*不稳定?

C++ 将QString转换为char*不稳定?,c++,qt,casting,C++,Qt,Casting,试图找出为什么只有不到1%的时间我有书写问题的记忆。就像来自随机线程一样,它无法写入。我想知道铸造是否不稳定 char *str = (char*)q_str.toStdString().c_str(); memcpy(m_list + m_count + m_length, str, strlen(str)); m_count++; toStdString()返回一个临时值。这个临时文件在分号处被销毁,此时str成为一个悬空指针。成功 string s = q_str.toStdString

试图找出为什么只有不到1%的时间我有书写问题的记忆。就像来自随机线程一样,它无法写入。我想知道铸造是否不稳定

char *str = (char*)q_str.toStdString().c_str();
memcpy(m_list + m_count + m_length, str, strlen(str));
m_count++;
toStdString()
返回一个临时值。这个临时文件在分号处被销毁,此时
str
成为一个悬空指针。成功

string s = q_str.toStdString();
memcpy(m_list + m_count + m_length, s.c_str(), s.length());
toStdString()
返回一个临时值。这个临时文件在分号处被销毁,此时
str
成为一个悬空指针。成功

string s = q_str.toStdString();
memcpy(m_list + m_count + m_length, s.c_str(), s.length());