C++ の = と == の違いは何ですか?

青灯夜游
リリース: 2020-11-30 14:37:40
オリジナル
17766 人が閲覧しました

違い: 1. 「=」は代入を意味し、代入演算子です。「==」は等価演算子で、両側が等しいかどうかを判断するために使用されます。2. 「=」演算子には必須の演算子があります。 type Conversion ですが、「==」にはキャストがありません。

C++ の = と == の違いは何ですか?

#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++ の = と == の違いは何ですか?

プログラミング関連の知識について詳しくは、プログラミング ビデオ コースをご覧ください。 !

以上がC++ の = と == の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート