ホームページ >バックエンド開発 >C#.Net チュートリアル >C++ の = と == の違いは何ですか?
違い: 1. 「=」は代入を意味し、代入演算子です。「==」は等価演算子で、両側が等しいかどうかを判断するために使用されます。2. 「=」演算子には必須の演算子があります。 type Conversion ですが、「==」にはキャストがありません。
#c
1 の = と == の違い。意味違い:
「=」は代入を意味します。
その機能は、式の値を左辺値に割り当てることです。式は左辺値または右辺値のいずれかです。いわゆる左辺値は、代入演算の左側で使用できる式を指します。 lvalue は変更可能である必要があり、定数にすることはできません。変数を左辺値として使用しますが、ポインターと参照も左辺値として使用できることもわかります。
"== は、両側が等しいかどうかを決定する等価演算子です。等価演算子を使用して、等価演算子が true を返すようにするには、演算子の両側の値またはステートメントが等しい必要があります。等しくない場合、== 演算子は false を返します。
2. 強制変換があるかどうか:
"=" この演算子は強制型変換を実行するため、いくつかの特別なルールもあります:
(1) 一方のオペランドが数値で、もう一方が文字列の場合、== 演算子は比較する前に文字列を数値に変換しようとします;
(2) 一方のオペランドがブール値の場合の場合、比較前に演算子によって数値型にキャストされます。この場合、true は 1 に変換され、false は 0 に変換されます。
(3) 一方のオペランドが null で、もう一方のオペランドがアンダーファインの場合、比較結果は true になります;
(4) 一方または両方のオペランドが NaN の場合、比較結果は false になります。
「==」には強制的な変換はありませんが、代入操作では元の変数の値が新しい変数にコピーされるため (値による代入)、一方を変更しても他方には影響しません。
3. 戻り値の結果は異なります:
「=」の結果は、実際には右側の式の値をオペランドに代入することを意味します。左。代入式の値は、代入された値です。つまり、「$a = 3」の値は 3 になります。
「==」は異なり、false または true の値を返します。したがって、JavaScript は文字「4」を数字の 4 に変換するため、「4」 == 4 のようなステートメントは true を返します。ステートメントが false を返すようにするには、恒等演算子 (===) を使用する必要があります。
プログラミング関連の知識について詳しくは、プログラミング ビデオ コースをご覧ください。 !
以上がC++ の = と == の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。