您好,登錄后才能下訂單哦!
這篇文章主要介紹c++中=和==有什么區(qū)別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
區(qū)別:1、“=”是賦值的意思,是賦值運算符;而“==”是相等運算符,用于判斷兩邊是否相等。2、“=”運算符存在強制類型轉換,而“==”不存在強制轉換。
c++中=和==的區(qū)別
1、含義不同:
“=”是賦值的意思。
它的作用是將一個表達式的值賦給一個左值。一個表達式或者是一個左值,或者是一個右值。所謂左值是指一個能用于賦值運算左邊的表達式。左值必須能夠被修改,不能是常量。我們用變量作左值,還可以看到,指針和引用也可以作左值。
“==”是相等操作符,判斷兩邊是否相等。利用相等運算符,如果希望相等運算符返回true,則運算符兩側的值或語句必須使相等的;如果不相等,則==運算符返回false。
2、是否存在強制轉換:
“=”該運算符將執(zhí)行強制類型轉換,所以也會有一些特殊的規(guī)則:
(1)如果一個操作數(shù)是數(shù)字,另一個是字符串,==運算符會嘗試在比較之前將字符串轉換成數(shù)字;
(2)如果一個操作數(shù)是布爾值,那么在比較之前它將會被運算符強制轉換成為數(shù)值類型,在這種情況下,true被轉換為1,而false被轉換為0。
(3)如果一個操作數(shù)是null,而另一個是underfined,比較結果為true;
(4)如果一個或兩個操作數(shù)都是NaN,比較結果為false。
“==”不存在強制轉換,而是賦值運算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個并不影響另一個。
3、返回值的結果不同:
“=”的結果實際上意味著把右邊表達式的值賦給左邊的運算數(shù)。賦值運算表達式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。
“==”則不同,它會返回false或true值。所以例如“4”==4這樣的語句將返回true,因為JavaScript會將字符“4”轉換成數(shù)字4。如果希望該語句返回false,則需要使用恒等運算符(===)。
以上是“c++中=和==有什么區(qū)別”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。