我尝试了许多使用CListCtrl作为虚拟列表的不同方法。多年来,名单上的数据量有所增加。该列表中填充了一类变量。
我最终不得不把这个类变成一个向量 - 这使得列表的排序更快,我对结果很满意。这是我注意到程序现在使用的内存量。在我的服务器上,我得到“内存不足”。
该类定义为
class VP_List_Info
{
public:
// four CStrings
// 13 doubles
//10 ints
//5 bools
//10 std::vector <double> // these were arrays of 51 doubles I changed them to vectors as I now create the size at runtime. (this was one attempt to save the memory)
}
这个类在它自己的头文件中,在我使用它的.cpp中我声明它。
std::vector<VP_List_Info> Vp_IS;
然后我在我的代码中使用它:
VP_List_Info mylist;
Vp_IS.push_back(mylist);
然后我填充所有值,这循环62000次。然后我有一个包含62000个条目的Vp_IS数组,我可以把它们放在我的列表中并排序等等,一切都很好。
有没有更好的方法使用向量而不占用系统内存?
干杯,
道格