如果你對C++++引用還不是很了解,那可以先看看這篇淺談C++ const引用以及非const引用,通俗易懂的說明,盡量讓大家掌握運用和基本概念的理解,感興趣的朋友來了解下,或許本文對你走上C++的路有所幫助。
const引用是指向const對象的引用。
可以讀取ref,但不能修改。這樣做是有意義的,因為i本身就不可修改,當然也不能通過ref來修改了。所以也就有將const變量賦值給非const引用是非法的。
?
?
非const引用是指向非const類型變量的引用。
const引用可以初始化為不同類型的對象或者右值(如字面值常量),但非const引用不可以。
?
?
以綁定到不同類型的ref2為例解釋原因,編譯器會把ref2相關的代碼轉換如下:
?
?
ref2實際上是綁定到一個臨時變量上,如果ref2不為const,那么按道理就可以通過修改ref2而修改d的值,但實際上d并不會改變。所以為了避免這個問題,ref2只能是const。
非const引用只能綁定到與該引用同類型的對象,const引用則可以綁定到不同但相關的類型的對象或綁定到右值。
以上就是淺談C++ const引用以及非const引用的介紹,如果大家想了解更多相關內容,請持續關注本站,武林小編將會在第一時間為大家帶來更好的經典內容。
新聞熱點
疑難解答
圖片精選