std::array について

std::array について #

概要 #

前ページまでで,配列型へのポインタ型や参照型について説明しました.一方で,標準ライブラリには std::array 構造体テンプレートがあり,通常の配列のパフォーマンスを保ったまま,サイズの取得などの付随的な機能を利用できます.

std::array について #

array ヘッダを include すると,std::array が利用できます. std::array の定義は以下のとおりです [1]

namespace std {

template <class T, std::size_t N>
struct array;

} // namespace std

std::array は通常の配列と同等のパフォーマンスで利用できるとされています.通常の配列と異なり,以下のように,変数から配列のサイズが取得できます.よって,std::array を使う限り,前ページで定義した ArraySize は不要です

#include <array>
#include <iostream>

int main() {
  std::array<int, 3> a;
  std::cout << a.size() << "\n"; // 3
  return 0;
}

まとめ #

本ページでは,std::array について説明しました.std::array を使えば,配列から要素数を取得できます.よって,std::array を使う限り,前ページで定義した ArraySize 関数テンプレートは不要になります.

参考文献 #

[1] cppreference.com, “std::array - cppreference.com”, https://en.cppreference.com/w/cpp/container/array, 2022/8/21 最終アクセス.


This work is licensed under CC BY 4.0