valarrayクラスの見た目はクラスと同じですが、どこを優先するか、またはその逆arrayを説明していただけますか?valarrayarray
7695 次
3 に答える
23
valarrayC++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 に答える