📜  C++ STL中的数组data()及其示例(1)

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

C++ STL中的数组data()方法及其示例

在C++标准模板库(Standard Template Library,STL)中,std::array是一个模板类,用于表示和操作静态数组。它提供了一组方法来访问和操作数组元素,其中包括data()方法。

data()方法

std::array类中的data()方法用于返回指向数组第一个元素的指针。这个指针可以用于直接访问和修改数组中的元素。

下面是std::array的定义示例和data()方法的用法:

#include <array>
#include <iostream>

int main() {
    std::array<int, 5> myArray = {1, 2, 3, 4, 5};

    int* ptr = myArray.data(); // 获取指向数组第一个元素的指针

    std::cout << "First element: " << *ptr << std::endl; // 输出第一个元素

    *ptr = 10; // 通过指针修改第一个元素的值

    std::cout << "Modified first element: " << myArray[0] << std::endl; // 输出修改后的第一个元素

    return 0;
}

输出结果:

First element: 1
Modified first element: 10

在示例中,我们首先创建了一个std::array<int, 5>类型的数组myArray,并使用初始化列表对其进行初始化。然后,我们使用data()方法获取指向数组第一个元素的指针,并将其赋给指针变量ptr

通过*ptr可以访问指针指向的值,这里我们输出了第一个元素的值。然后,我们修改了第一个元素的值为10,并输出修改后的第一个元素的值。

需要注意的是,data()方法返回的是一个指针,因此可以用指针的方式操作数组的元素。但是要注意不要超出数组的范围,因为data()方法本身不会进行边界检查。

总结

data()方法是C++ STL中std::array类的一个重要方法,用于返回指向数组首个元素的指针。通过指针,我们可以直接访问和修改数组的元素。但是需要注意,在使用data()方法返回的指针时,要确保不会超出数组的范围,以避免未定义的行为。