3

1 行で複数の変数を定義すると、ビルド プロセスに何らかの形で最適化が提供されますか、それとも単にコーディング スタイルの選択ですか?

たとえば、次のようになります。

void foo()
{
    int a, b, c, d;

    ..... // do something with a,b,c and d
}

これに対する最適化を提供します。

void bar()
{
    int a;
    int b;
    int c;
    int d;

    ..... // do something with a,b,c and d
}
4

4 に答える 4

4

そのように呼ぶに値する最適化はありません。

唯一の利点は、メモリにロードして解析する文字数がわずかに少ないことです。違いを測定することさえできないと思います。

必要に応じて、チームの他のメンバーや個人的な好みに合ったプログラミング スタイルを使用してください。

于 2013-01-09T17:05:16.037 に答える
3

おそらく、はい。入力ファイルが小さいほど、コンパイラの読み取りが高速になります。しかし、それはコンパイラの実装に大きく依存します。コンパイラに依存しない方法でビルド時間を短縮することに関心がある場合は、他にも多くの最適化を行うことができます。John Lakos によるLarge-Scale C++ Software Designは、このために読むのに非常に良い本です。

于 2013-01-09T17:09:57.773 に答える
1

コーディング スタイルの選択にすぎません。個人的には、1 行で複数の変数を定義するのは嫌いです。

于 2013-01-09T17:05:41.733 に答える
0

たとえば、ミリ秒単位では、ほとんど違いが見られません。しかし、はい、違いがあり、1 行の変数は他の変数よりも速くコンパイルされます。

于 2013-01-09T17:07:15.547 に答える