-2

値の配列をナビゲートするためにポインターを使用する方が良いですか、それとも添字付きの配列名を使用する方が良いですか?

コンパイラは両方のアプローチをどのように扱いますか?

4

2 に答える 2

1

私は短いテストをしました。int arr[10]すべてのセルを作成し10て、通常の for ループを使用するように設定intint*ました。

私が奇妙だったのは (Midhun MP の引数を受け入れます) ポインター インデックス付きループ アセンブリ コードが、通常のアプローチ (1 行以上) よりも大きかったことです。しかし、O3最適化の出力をオンにすると、まったく同じでした。

IMO コードは読みやすく、そもそもエラーなく動作する必要があります。マイクロ最適化は、本当に必要な場合にのみ実行できます。それ以外の場合は、読みやすさがパフォーマンスを上回ります。

それがどのように機能するか興味がある場合。このテストは自分で行ってください。コードの 2 つのバージョンを準備し、それをコンパイルしてgcc -S出力を比較します。

于 2013-06-14T19:06:48.693 に答える