【QT】调试心得(3)

1、在不同电脑上调试运行同一个QT工程,其中在读取excel时有的电脑出现了无法读取数据的情况,qDebug出来的类型显示为:

QVariant(Invalid)

猜测与电脑只安装了wps没安装office有关。一会儿装个office再试一下,回来更新。

2、养成习惯:new一个对象后,立刻打出delete。内存泄漏不是闹着玩儿的。

3、之前习惯使用一个空指针传给函数,专门用来接受函数计算的结果值。
但是在函数执行完后,我经常使用”[]”符号引用指针后面的一串数据中某个,这样调试起来相当麻烦。因为在不知道函数执行是否有效、指向返回值的指针是否已经指向理想计算结果时,并不能从获得的数据中看出函数功能是否运行成功。

于是,在已知返回数值个数时,我现在更喜欢使用vector向量来存储计算结果,访问更安全。而且,vector在生存期后自动销毁,不需要手动delete。

vector<result_type> results;
results.resize(cnt); //在已知结果数据个数时,resize构造对象了,reserve并没有,只是开辟内存空间先占上,改变了vector的capacity,没改变size
fun(results);
for(vector<datatype>::iterator it=results.begin();it!=results.end();it++)
{
  qDebug()<<*it;  //挨个访问计算结果
}

猜你喜欢

转载自blog.csdn.net/m0_37557014/article/details/75136331