C++ Array::data() 函式



C++ 的std::array::data()函式提供了一個指向陣列容器使用的底層陣列的直接指標。此函式返回指向陣列第一個元素的指標,允許訪問內部資料。

語法

以下是 std::array::data() 函式的語法。

value_type* data() noexcept;
const value_type* data() const noexcept;

引數

它不接受任何引數。

返回值

它返回一個指向陣列物件包含的資料的指標。

異常

此函式永遠不會丟擲異常。

時間複雜度

常數,即 O(1)

示例 1

在以下示例中,我們將考慮 data() 函式的基本用法。

#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;
}

輸出

以上程式碼的輸出如下:

C++ standard library from tutorialspoint.com
C++ standard library from tutorialspoint.com

示例 2

考慮以下示例,我們將對整數陣列應用 data() 函式。

#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;
}

輸出

以下是以上程式碼的輸出:

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

示例 3

讓我們看看以下示例,我們將考慮字元陣列並應用 data() 函式。

#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;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

The array elements are = a n u 
The first element = a
array.htm
廣告