次のコード セグメントがあります。
for ( SID_AND_ATTRIBUTES* it = ptg->Groups; end != it; ++it )
if ( EqualSid( it->Sid, pAdminSid ) )
break;
bIsAdmin = end != it;
腹立たしいことに、VS でステップバイステップのデバッグを行うと、最後の行が各 for 反復で実行されます。上記のコード セグメントが次のように動作することを期待していました。
for ( SID_AND_ATTRIBUTES* it = ptg->Groups; end != it; ++it ) {
if ( EqualSid( it->Sid, pAdminSid ) )
break;
}
bIsAdmin = end != it;
なぜそうではないのか、誰かが説明できますか?