📜  C++ Vector.data()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.654000             🧑  作者: Mango

C++ Vector.data()函数

在 C++ 中,Vector 是一个非常常用的容器。它是一个可变大小的动态数组,并且支持常数时间内的在末尾插入和删除元素。

Vector.data() 函数是 Vector 类的一个成员函数,用于获取 Vector 容器底层的自动分配的数组的指针地址。

语法

Vector.data() 函数的语法如下所示:

T* data() noexcept;
const T* data() const noexcept;

其中,T 是指 Vector 容器中元素的类型。

返回值

该函数返回一个指向 Vector 容器底层数组第一个元素的指针。如果 Vector 容器是空的,则该函数返回一个指向分配了 0 个元素的数组的指针,而该指针依然是一个有效的指针。

使用示例

下面是使用 Vector.data() 函数的一个代码示例:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    // 创建一个整型数组 vector 容器
    vector<int> vec = {10, 20, 30, 40, 50};
    
    // 获取 Vector 容器的底层数组的指针
    int *ptr = vec.data();
    
    // 向控制台打印指针指向的数组元素的值
    for (int i = 0; i < vec.size(); ++i)
    {
        cout << *(ptr + i) << " ";
    }
    
    return 0;
}

运行结果为:

10 20 30 40 50

上述代码中,我们创建了一个 vector 容器,并使用 Vector.data() 函数获取了它的底层数组的指针。然后,我们使用指针访问了数组中的元素,并将它们打印到控制台上。

需要注意的是,由于我们使用的是 Vector.data() 函数,因此在访问数组元素时最好使用指针算术运算,而不是使用 Vector.at() 函数,因为前者的性能更优。但是需要确保访问的数组元素的下标不越界。