プロが教える店舗&オフィスのセキュリティ対策術

動的配列のメリット・デメリット

C言語で静的配列を用いた場合と、malloc関数で動的配列を用いた場合と、
C++でvectorクラスを用いた場合を比較したとき、計算の処理速度と、メモリの使用量にどの程度の違いが生じますか?
なるべく具体的な数値による評価が知りたいです。

Lanczos法やQR法を用いて、大規模な行列の対角化をしたいと思っているのですが、そういう場合はなるべく静的配列を用いるべきでしょうか?

A 回答 (2件)

静的配列はスタック上にとられるから、大きなメモリは扱えないので


大行列用途には不向き。コンパイル時にサイズが決まるのも用途によっては
厳しいでしょう。それ以外は単なる生のメモリ-なので、速度は
あなた次第です。小さな固定サイズ行列用ならどっちでも良い。

vector はコレクションライブラリなので、それなりにオーバヘッドが
あるでしょうね。
    • good
    • 0

それぞれの処理速度はコンパイラの実装の仕方で変わってきます。

実測してみなければ判りません。コンパイラを変えると違う結果になるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!