2017-11-04 10 views
-5

あまりにも厳しくないこれをチェックするのが最も効率的な方法は、整数が増加しているかどうかを確認するC++

if (misses++) 
    run_code(); 

(ミスはいくつかのコードを実行して、増加した場合は基本的に、ロギングに有用な角度などを逃した)

P.Sは、このコードの実行たびに増加をミスだろうか?感謝:)それは誰もが任意のアイデアを持って、増加した場合、これはチェックしません

EDIT?

+5

これにはありません「ミスが増えた場合」を意味する。これは、「ミス」が「0」でない場合に「ミス」を増やすことを意味する。 – nwp

+2

'missed'がインクリメントされる前に' missed'がゼロに等しくならないたびに実行されます。 –

+4

あなたがしたいことにはならないので効率的ではありません。速度に関しては、動作しない場合は無関係です。 – juanchopanza

答えて

1

次のようにしてみてください:あなたが比較できるように、値は、あなたが元の値をメモしてくださいする必要が増加しているかどうかを判断するには

int b=misses 
misses++; 
if(misses>b) 
{ 
    run_code(); 
    b=misses; 
} 
+0

これは何もしない場合、コンパイラは単にそれを削除します。 – tkausl

1

void f(int& arg); // might change arg 

int main() { 
    int misses = 0; 
    int old_misses; 
    for (int i = 0; i < 10; ++i) { 
     old_misses = misses; 
     f(misses); 
     if (misses != old_misses) 
      run_code(); 
    } 
    return 0; 
} 
関連する問題