新聞中心
這篇文章主要介紹c++中=和==有什么區(qū)別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
區(qū)別:1、“=”是賦值的意思,是賦值運算符;而“==”是相等運算符,用于判斷兩邊是否相等。2、“=”運算符存在強制類型轉(zhuǎn)換,而“==”不存在強制轉(zhuǎn)換。
c++中=和==的區(qū)別
1、含義不同:
“=”是賦值的意思。
它的作用是將一個表達式的值賦給一個左值。一個表達式或者是一個左值,或者是一個右值。所謂左值是指一個能用于賦值運算左邊的表達式。左值必須能夠被修改,不能是常量。我們用變量作左值,還可以看到,指針和引用也可以作左值。
“==”是相等操作符,判斷兩邊是否相等。利用相等運算符,如果希望相等運算符返回true,則運算符兩側(cè)的值或語句必須使相等的;如果不相等,則==運算符返回false。
2、是否存在強制轉(zhuǎn)換:
“=”該運算符將執(zhí)行強制類型轉(zhuǎn)換,所以也會有一些特殊的規(guī)則:
(1)如果一個操作數(shù)是數(shù)字,另一個是字符串,==運算符會嘗試在比較之前將字符串轉(zhuǎn)換成數(shù)字;
(2)如果一個操作數(shù)是布爾值,那么在比較之前它將會被運算符強制轉(zhuǎn)換成為數(shù)值類型,在這種情況下,true被轉(zhuǎn)換為1,而false被轉(zhuǎn)換為0。
(3)如果一個操作數(shù)是null,而另一個是underfined,比較結(jié)果為true;
(4)如果一個或兩個操作數(shù)都是NaN,比較結(jié)果為false。
“==”不存在強制轉(zhuǎn)換,而是賦值運算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個并不影響另一個。
3、返回值的結(jié)果不同:
“=”的結(jié)果實際上意味著把右邊表達式的值賦給左邊的運算數(shù)。賦值運算表達式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。
“==”則不同,它會返回false或true值。所以例如“4”==4這樣的語句將返回true,因為JavaScript會將字符“4”轉(zhuǎn)換成數(shù)字4。如果希望該語句返回false,則需要使用恒等運算符(===)。
以上是“c++中=和==有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:c++中=和==有什么區(qū)別-創(chuàng)新互聯(lián)
本文路徑:http://fisionsoft.com.cn/article/ggops.html