让我说我有一个
vector<vector<foobar> > vector2D(3);
for(int i=0;i<3;i++)
vector2D[i].resize(3);
Run Code Online (Sandbox Code Playgroud)
因此,总共包含9种foobar元素的3x3载体.
我知道想要将"vector2D"传递给一个函数来修改"vector2D"中的一些值.例如,如果foobar包含
struct foobar{
int *someArray;
bool someBool;
}
Run Code Online (Sandbox Code Playgroud)
我想将"vector2D"传递给修改vector2D的函数,如下所示:
vector2D[0][0].someArray = new int[100];
vector2D[0][0].someArray[49] = 1;
Run Code Online (Sandbox Code Playgroud)
该函数不应返回任何内容(通过引用调用).
这甚至可能吗?
我有点问题:
我需要将大约260mb的数据加载到一个struct(带有fread)中.Windows资源管理告诉我,我有:
但是,当我运行程序并加载数据时,程序在没有剩余"空闲"内存的位置崩溃.还剩下大约1200mb的待机内存.
我想,当free mem为空时,它会自动将备用内存交换到磁盘并释放更多内存吗?
有什么方法可以避免这个问题,还是我做错了什么?