В чем разница между этими двумя блоками кода C ++?

Почему первый может правильно увеличивать pbf_ [k], а второй даже не делает этого (приращение) за один раз?

unsigned pbf_[5] ={0}; 
 bool m=0;

Код 1:

for(int k=0;k<5;k++)    
 {

  if((m=(bit_table_[k][i][bit_index ] &bit_mask[bit]))==true)    
     pbf_[k]++;
  }

Код 2:

for(int k=0;k<5;k++)    
 {
   if((bit_table_[k][i][bit_index ] & bit_mask[bit])==true)
        pbf_[k]++;
 }
5
задан Alex Reynolds 30 December 2011 в 09:59
поделиться