1. ホーム
  2. c++

[解決済み] std::arrayとarrayの性能比較

2022-05-15 20:10:35

質問

以下のような非常に単純な配列を作成したい場合

int myArray[3] = {1,2,3};

を使うべきでしょうか? std::array を使うべきでしょうか?

std::array<int, 3> a = {{1, 2, 3}};

std::arrayを使用する利点は何ですか?より高性能なのでしょうか?単にコピーやアクセスの処理が簡単なのでしょうか?

どのように解決するのですか?

<ブロッククオート

を使用する利点は何ですか? std::array を使う利点は何ですか?

値によって関数に渡したり、関数から返したりできるように、フレンドリーな値セマンティクスを持っています。また、そのインターフェースにより、サイズを求めたり、STLスタイルのイテレータベースのアルゴリズムで使用したりすることがより便利になります。

より高性能なのでしょうか?

全く同じであるべきです。定義によれば、これは唯一のメンバーとして配列を含む単純な集合体です。

コピー/アクセスのために処理するのが簡単なだけ?

そうです。