std::
array::data
公众成员函数 <array>
value_type* data() noexcept;
const value_type* data() const noexcept;
获取数据指针
返回指向数组对象第一个元素的指针。
由于数组中的元素存储在连续的存储位置,因此检索到的指针可以通过偏移来访问数组中的任何元素。
☲ 参数
none
☉ 返回值
指向数组对象包含的数据的指针.
如果数组对象是const限定的,则函数返回指向const value_type的指针。
否则,它返回一个指向value_type的指针。
成员类型value_type是容器中元素的类型,在数组中定义为第一个模板形参(T)的别名。
☣ 示例
// array::data
#include <iostream>
#include <cstring>
#include <array>
int main ()
{
const char* cstr = "Test string";
std::array<char,12> charray;
std::memcpy (charray.data(),cstr,12);
std::cout << charray.data() << '\n';
return 0;
}
|
输出:
Test string
✥ 复杂度
稳定
☣ 迭代器的有效性
没有改变
⇄ 数据竞争
调用不会直接访问所包含的元素,但是返回的指针可以用来访问或修改元素。
同时访问或修改不同的元素是安全的。
☂ 异常安全性
No-throw保证:这个成员函数从不抛出异常。
🍄 另请参阅
array::operator[] |
访问元素(公众成员函数) |
array::front |
访问第一个元素(公众成员函数) |
array::back |
返回一个指向数组开头的迭代器 (公众成员函数) |
array::fill |
用值填充数组(公众成员函数) |