QT中qDebug()导致的问题

在使用QT编程过程中, 我们会经常使用到qDebug()函数;但是qDbug()会导致一些问题;

今天在使用qDebug解决问题时,发现如果在:

char *sn =(char *)raw_sn.toStdString().c_str();

使用cpp中string类中的c_str()函数,得到指向和string类相等的字符串的指针后,再去使用qDebug()函数会将得到的指针指向的区域清空;

char *sn =(char *)raw_sn.toStdString().c_str();
int pre = (int)sn;
qDebug() << "hello";
int aft = (int)sn;
qDebug() << pre << aft;

用上述代码发现指针指向同一区域,验证sn是否清空可以在qDebug()调用前后使用sn变量。

具体原因尚不明确, 以后知道了再来补充。

猜你喜欢

转载自blog.csdn.net/u014436243/article/details/79646642