联合集中开发阶段性总结
集中开发已经近一个月了,在这短时间中也算是对C++、Qt编程入了个门。那么趁着这股还没散去的热乎劲,赶紧记录下过程所感所想。
一 内存泄露
一个程序难免会遇到这个问题,而这个问题显而易见一定是因为new过之后没有在合适的时机delete掉造成的。那么查找内存泄露的原因就是在所有new过的地方设置断点,然后让程序跑起来,循环运行看停在了那个断点,那么问题就显而易见了!
二 对于全局变量
有些数据或者内存是我们想在这个程序中一直用到的,那么就应该将它们设置为全局变量(对象),这样这个对象就会一直存在可以反复利用。当然在某个函数中来new一个对象指针这样一个局部变量也可以达到目的,因为申请后的指针内存一直存在除非你delete掉。而对于想用这样一个变量,建议用全局对象来实现。
但是也遇到过全局对象不能实现目的而局部指针变量可以实现的情况。这个问题现在还在迷惑着我。。。
三 获取变量的方法
第一个采用引用变量的方式,如:
void GetDBConnNodes(QVector<DBConnNodeInfo *> &vec)
{
vec = m_vecDBConnNodeList; //读配置文件获取vec,传递给主界面
}
第二种采用双指针变量的方式,如:
Class Test;
Test B;
bool get(Test **vec)
{
vec = &B;
return true;
}