基本上我有两个向量,一个型号(称其为外部(包含元素,该元素指向另一个元素的向量,其元素是类型的(此后称为内部(,而指示符存储在内心中的元素指向int类型数组。
我想访问存储的阵列的元素。我该如何处理?
const int num = 2;
int arr[num];
arr[0] = 123;
arr[1] = 456;
vector<int*> inner;
vector<int**> outer;
inner.reserve(num);
outer.reserve(num);
for(int i = 0; i < num; ++i)
{
inner.push_back(&arr[i]);
outer.push_back(&inner[i]);
}
cout << "before:";
for (int i : arr) {
cout << i << " ";
}
cout << endl;
for(int i = 0; i < num; ++i) {
**(outer[i]) *= 2;
}
cout << "after:";
for (int i : arr) {
cout << i << " ";
}
cout << endl;
输出:
以前:123 456之后:246 912
实时演示