valarray
クラスの見た目はクラスと同じですが、どこを優先するか、またはその逆array
を説明していただけますか?valarray
array
質問する
7695 次
3 に答える
23
valarray
C++03 には既にありましたがarray
、C++11 で新しく追加されましたvalarray
は可変長でarray
はありません。valarray
+
は数値計算用に設計されており、-
、*
、cos
、sin
、 などを含む多くの演算を提供しますが、そうでarray
はありません。valarray
配列のスライス (サブ配列) を取得するためのインターフェイスがありますが、array
ありません。
于 2012-01-22T23:19:24.717 に答える
6
valarray
動的データ構造であり、そのサイズは実行時に変更でき、動的割り当てを実行します。array
コンパイル時にサイズが決定される静的データ構造です (また、集計でもあります)。
valarray
ただし、使用しないでください。vector
代わりにa を使用してください。
于 2012-01-22T23:19:48.610 に答える
6
に関連するクラス テンプレートは、式テンプレートstd::valarray<T>
と呼ばれる最適化手法をサポートすることを目的としています。私はこれを試みたことはありませんが、私の理解では、仕様はこれを完全に要求しておらず、実際にはこれを十分にサポートしていません。一般に、かなり特殊化されたクラスであり、実際には広く使用されていません。また、テンプレート引数のサポートは限定されていると思います(組み込みの数値型など)。std::valarray<T>
std::valarray<T>
もう 1 つstd::array<T, n>
は、固定サイズでありながら、通常のコンテナー インターフェイスを可能な限りサポートする固定サイズの配列です。基本的に、std::array<T>
のより使いやすいバージョンですT[n]
。
于 2012-01-22T23:21:59.787 に答える