首頁  >  文章  >  後端開發  >  c++中=和==的差別有哪些?

c++中=和==的差別有哪些?

青灯夜游
青灯夜游原創
2020-11-24 17:13:3717769瀏覽

區別:1、「=」是賦值的意思,是賦值運算子;而「==」是相等運算符,用來判斷兩邊是否相等;2、「=」運算子存在強制型別類型轉換,而“==”不存在強制轉換。

c++中=和==的差別有哪些?

c 中=和==的區別

1、意義不同:

“=”是賦值的意思。

它的作用是將一個表達式的值賦給一個左值。一個表達式或者是一個左值,或者是一個右值。所謂左值是指一個能用來賦值運算左邊的表達式。左值必須能夠被修改,不能是常數。我們用變數作左值,還可以看到,指標和引用也可以作左值。

「==」是相等運算符,判斷兩邊是否相等。利用相等運算符,如果希望相等運算子傳回true,則運算子兩側的值或語句必須使相等的;如果不相等,則==運算子傳回false。

2、是否存在強制轉換:

「=」運算子會執行強制型別轉換,所以也會有一些特殊的規則:

(1)如果一個運算元是數字,另一個是字串,==運算子會嘗試在比較之前將字串轉換成數字;

(2)如果一個運算元是布林值,那麼在比較之前它將會被運算子強制轉換成為數值類型,在這種情況下,true被轉換為1,而false被轉換為0。

(3)如果一個運算元是null,而另一個是underfined,比較結果為true;

(4)如果一個或兩個運算元都是NaN,比較結果為false。

「==」不存在強制轉換,而是賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。

3、傳回值的結果不同:

「=」的結果其實是指把右邊表達式的值賦給左邊的運算數。賦值運算表達式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。

「==」則不同,它會傳回false或true值。所以例如「4」==4這樣的語句會回傳true,因為JavaScript會將字元「4」轉換成數字4。如果希望該語句傳回false,則需要使用恆等運算子(===)。

c++中=和==的差別有哪些?

更多程式相關知識,請造訪:程式設計影片課程! !

以上是c++中=和==的差別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn