我有一个指针数组的载体vector<int> *F[12];
,我想初始化一些载体及其地址存储在F.声明载体在for循环
for(uint i = A; i <= B; ++i){
vector<uint> newvec(pow2(i), 0);
F[i] = &newvec;
}
但是当我尝试以后访问这些网站,我发现它们并非全部为零:
for(uint i = A; i <= B; ++i){
for(uint j = 0; j <= pow2(i); ++j){
if((*F[i]).at(j) != 0){
cout << i << "/" << j << "/" << (*F[i]).at(j) << "|";
}
}
}
我假设这与声明向量的范围有关。为什么记忆被释放了?我必须使用malloc
并从中创建矢量吗?
http://stackoverflow.com/questions/6441218/can-a-local-variables-memory-be-accessed-outside-its-scope – chris