学习C++,所以,请温柔:)...最佳实践:QT4 QList <Mything*> ...在堆,或QList <Mything>使用参考?
我一直在设计我的应用程序主要利用堆变量(由C来),所以我设计的结构是这样的:
QList<Criteria*> _Criteria;
// ...
Criteria *c = new Criteria(....);
_Criteria.append(c);
所有通过我的程序,我会传递指向特定标准的指针,或者通常是指向列表。所以,我必须声明这样的功能:
QList<Criteria*> Decision::addCriteria(int row,QString cname,QString ctype);
Criteria * Decision::getCriteria(int row,int col)
其插入一个标准到一个列表,并返回列表,所以我的GUI可以显示它。
我想知道如果我应该使用引用,不知何故。由于我总是想,准确的标准回去,我应该这样做:
QList<Criteria> _Criteria;
// ....
Criteria c(....);
_Criteria.append(c);
...
QList<Criteria>& Decision::addCriteria(int row,QString cname,QString ctype);
Criteria& Decision::getCriteria(int row,int col)
(不知道如果是后者行语法正确,但你得到的漂移)。
所有这些项目都是特定的准全局项目,它们是我的程序的核心。
所以,问题是这样的:我当然可以在我现在使用的方法中分配/释放我所有的内存,但是有更多的C++方法吗?参考文献是一个更好的选择(现在改变并不太晚)。
TIA
迈克
删除我的旧的答案,因为我没能真正读懂你想要的东西。 ..新的答案应该是更好的针对性。 – 2010-03-28 19:05:07