📌  相关文章
📜  c++ 指向向量的指针 - C++ (1)

📅  最后修改于: 2023-12-03 15:29:52.686000             🧑  作者: Mango

C++ 指向向量的指针

在 C++ 中,我们可以使用向量(Vector)来存储一组元素,并使用指针来操作这些向量。以下是关于 C++ 指向向量的指针的一些介绍和示例代码。

向量和指针的基本概念

向量是一个动态数组,可以根据需要扩展或缩小其大小。在 C++ 中,我们可以使用标准库的 vector 类来创建向量。下面是一个示例:

#include <vector>
using namespace std;

vector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);

上面的代码创建了一个整型向量 myVector,并向其中添加了三个元素。

指针是一个变量,其值为另一个变量的地址。在 C++ 中,我们可以使用指针来访问存储在内存中的变量。以下是一个示例:

int var = 123;
int* ptr = &var;
cout << *ptr << endl; // 输出 123

上面的代码创建了一个整型变量 var,并使用指针 ptr 来存储其地址。使用 *ptr 可以访问 var 的值,输出结果为 123。

使用指针操作向量

我们可以使用指针来操作向量,例如遍历向量中的元素,并修改其中的某些元素。以下是一个示例:

vector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);

// 使用指针遍历向量,并修改其中的元素
for (vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) {
    *it += 1;
    cout << *it << " ";
}
// 输出:2 3 4

上面的代码使用指针 it 遍历 myVector 中的元素,并使用 *it 修改元素的值。输出结果为 2 3 4。

我们还可以使用指针来传递向量作为函数参数。以下是一个示例:

void printVector(vector<int>* ptrVector) {
    for (vector<int>::iterator it = ptrVector->begin(); it != ptrVector->end(); ++it) {
        cout << *it << " ";
    }
}

int main() {
    vector<int> myVector;
    myVector.push_back(1);
    myVector.push_back(2);
    myVector.push_back(3);

    // 把指向 myVector 的指针传递给函数
    printVector(&myVector);
    // 输出:1 2 3
}

上面的代码声明了一个指向向量的指针 ptrVector,并在 printVector 函数中使用该指针遍历向量中的元素并输出它们的值。在 main 函数中,我们把指向 myVector 的指针传递给 printVector 函数,并输出向量中的元素。

总结

在 C++ 中,我们可以使用指针来操作向量,包括遍历向量中的元素,并修改其中的某些元素。我们还可以使用指针来传递向量作为函数参数。掌握 C++ 指向向量的指针对于写出高效的程序非常重要。