[言い回し]の値が後方に書き込まれる場合、なぜ決定

===============================================

 8分の2019 / 27_最初の編集              ccb_warlock          

 

===============================================

 

この記事を書くの起源は、常にこの文言(パラメータ変数)のようなものを参照してください最近のスキーマのコードで他の人を見ることです。

もしヌル == PARAM)

{ 

  // TODO 

}

一般的なロジックは、「引数がnullの場合、何を」ヌルに直接等しいことは十分ではありませんでしょうか?

C#が何の違いもないように見えますか?

彼は事前にnullにしたいなぜ、それほど厄介な文言は、それを書くのか?

 

議論と著者の後、主に他の言語でのピットの一部を防ぐために。たとえば、

INTの値= 3 ; 

もし(値= 3 

{ 

    // TODO 

}

C#のコンパイラでは、このロジックは文句を言いますので「値は= 3」int型の代わりに、ブール値の結果です。

C ++:1が真BOOLに変換できる整数デフォルトより大きい値は整数1よりも大きいため、コンパイラでは、このロジックは、渡され、C ++の構文で、コンパイラが与えられていないが、このロジックはデザインを満たしていません。 

 

利点の一つは、あなたは文法がもたらすピットを避けるために、後方に書くことができるということです。 

INTの値= 3 ; 

もし3 = 値)

{ 

    // TODO 

}

だから、逆方向に書かれた、C ++コンパイラは、それによって埋葬ピットの開発と監督のために回避、異常になります。

 

結論:ときピットの言語レベルを回避するために、文言フィットネス後方書かれて、あなたはピットの父の書き込みからのコンテンツの一部を回避するために、通常の書き込みかどうかを判断しようとすることができます。

おすすめ

転載: www.cnblogs.com/straycats/p/11415911.html