是否有一种方法可以访问/解除并找到存储在双指针向量中的元素的值

Is there a way to access/dereference and find value of element stored in a vector of double pointers?

本文关键字:存储 指针 元素 向量 一种 方法 访问 是否      更新时间:2023-10-16

基本上我有两个向量,一个型号(称其为外部(包含元素,该元素指向另一个元素的向量,其元素是类型的(此后称为内部(,而指示符存储在内心中的元素指向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

实时演示