私はgithubでGNUstepプロジェクトを閲覧していて、この小さなループに出くわしました...
for(; i < 9; i+=1)
{
for(;j < 9; j+=1)
{
/* Inner loop code - snipped */
}
}
すべてではありませんが、ほとんどの増分操作は、ソース コードで' +=1 ' を使用して実行されました。それが一貫していれば意味があります。それが一貫しているなら、私はそれを単純な個人的な好み、または読みやすさにまで分類します.
ただし、1 人の人物が取り組んでいるように見えるプロジェクト (結局のところ、単純な数独ゲームです) の場合、インクリメンタル操作のスタイルが異なることに少し興味があります。
for(; i<10; i++)
{
/* inner loop code - snipped */
}
今、私はこの質問を読み、私の疑いを確認しました -コンパイラは、使用されている構文に関係なく、同じ低レベル コードを生成する必要があります。
これは、ベスト プラクティスなのかスタイル ガイドラインなのかを考えさせられましたが、同じコーダーがインクリメントの両方の方法を使用しています。個人的に言えば、私は何も考えずに ' i++ ' を使用しています。これはどのコーダーにとっても自然なことだと思います。ほとんど考えずに入力するだけです。
何か足りないのですか、それとも「ただの理由」ですか? 両方のタイプのインクリメントを混在させる理由はありますか? 両方が同じ ASM にコンパイルされる場合、一方が他方よりも優れたパフォーマンスを発揮する状況はないと思います。