关于多重vector所占空间问题
请问以下代码:
vector<vector<vector<int> > > a;
a.resize(100);
for(int i=0;i<100;i++)
{
a[i].resize(100);
for(int j=0;j<100;j++)
{
a[i][j].resize(100);
for(int k=0;k<100;k++)
{
a[i][j][k]=k;
}
}
}
1、三重vector a所占空间是多大? sizeof(int)*a.capacity()*a[0].capacity()*a[0][0].capacity()+sizeof(vector<int>)*a.capacity()*a[0].capacity()+sizeof(vector<vector<int> >)*a.capacity()+sizeof(vector<vector<vector<int> > >)这样求对吗?
2、如果1中的算法是对的,为什么最终的结果都会少于任务管理器计算出的结果,而且维数越大结果相差越大?