C++ Array::data() Function
The C++ std::array::data() function provides a direct pointer to the underlying array used by a array container. This function returns a pointer to the first element of the array, allowing access to the internal data.
Syntax
Following is the syntax for std::array::data() function.
value_type* data() noexcept; const value_type* data() const noexcept;
Parameters
It does not accepts any parameter
Return Value
It returns a pointer to the data contained by the array object.
Exceptions
This function never throws exception.
Time complexity
Constant i.e. O(1)
Example 1
In the following example, we are going to consider the basic usage of the data() function.
#include <iostream>
#include <array>
using namespace std;
int main(void) {
array < char, 128 > s = {"C++ standard library from tutorialspoint.com"};
char * p, * q;
p = s.data();
cout << p << endl;
q = p;
while ( * q) {
cout << * q;
++q;
}
cout << endl;
return 0;
}
Output
Output of the above code is as follows −
C++ standard library from tutorialspoint.com C++ standard library from tutorialspoint.com
Example 2
Consider the following example, where we are going to apply the data() function on the integer array.
#include <iostream>
#include <array>
using namespace std;
int main() {
array < int, 10 > arr = {9,12,15,18,21,24,27,30,33,36};
cout << "The array elements are ";
for (auto it = arr.begin(); it != arr.end(); it++)
cout << * it << " ";
auto it = arr.data();
cout << "\nThe first element = " << * it;
it++;
cout << "\nThe second element = " << * it;
it++;
cout << "\nThe third element = " << * it;
return 0;
}
Output
Following is the output of the above code −
The array elements are 9 12 15 18 21 24 27 30 33 36 The first element = 9 The second element = 12 The third element = 15
Example 3
Let's look at the following example, where we are going to consider th character array and applying the data() function.
#include <iostream>
#include <array>
using namespace std;
int main() {
array < char, 3 > x = {'a','n','u'};
cout << "The array elements are = ";
for (auto it = x.begin(); it != x.end(); it++)
cout << * it << " ";
auto it = x.data();
cout << "\nThe first element = " << * it;
return 0;
}
Output
If we run the above code it will generate the following output −
The array elements are = a n u The first element = a