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 最終アクセス.