はい、これは以前に質問されており、答えは次のとおりです。
valarray
s (値配列) は、Fortran の速度の一部を C++ にもたらすことを目的としています。valarray
コンパイラーがコードに関する仮定を作成し、より適切に最適化できるように、ポインターを作成しないでください。(Fortran が非常に高速である主な理由は、ポインター型がないため、ポインターのエイリアシングが発生しないためです。)
また:
valarray
また、エイリアシングの可能性を排除することになっています [...]
しかし、これらの答えは私には意味がありません。
valarray
とvector
はクラス テンプレートであり、インスタンス化されるまで存在しません。
そしてもちろん、 avector<int>
はエイリアシングの問題を引き起こすことはありませんvalarray<int>
。
これを考えると、 の目的は何でしたか?valarray
また、なぜ同じ機能を単純に に入れなかったのvector
ですか?