課程
/后端開發
/C++
/C++遠征之封裝篇(下)
請問在5:28的時候,說到this是常指針,而常指針指向的數據是不能修改的,這一點沒懂。指針是常指針,也就是說指針指向的地址是不能修改的,那為什么這個地址內存中的值也是不能被修改的呢?
2020-05-13
源自:C++遠征之封裝篇(下) 5-1
正在回答
const 指針 就是只能改變指的位置,但是不能修改值
const * this 和 * const this 這兩種定義方式,const 修飾的都是 *,也就是說這兩種定義方式的指針指向都是不能被修改的,因為 const 優先考慮修飾其左邊的符號,左邊沒有符號才會修飾右邊的符號,這兩種定義方式內存地址中的數據都是可以被改變的
const *this指針,只授予this指針讀取權限,限制了修改權限,此時內存地址中的值只能讀取、無法修改。
*const this指針,鎖定this指針的指向的對象,但無法指向其它對象,此時內存地址中的值可以讀取和修改。
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2021-03-21
const 指針 就是只能改變指的位置,但是不能修改值
2020-09-26
const * this 和 * const this 這兩種定義方式,const 修飾的都是 *,也就是說這兩種定義方式的指針指向都是不能被修改的,因為 const 優先考慮修飾其左邊的符號,左邊沒有符號才會修飾右邊的符號,這兩種定義方式內存地址中的數據都是可以被改變的
2020-05-17
const *this指針,只授予this指針讀取權限,限制了修改權限,此時內存地址中的值只能讀取、無法修改。
*const this指針,鎖定this指針的指向的對象,但無法指向其它對象,此時內存地址中的值可以讀取和修改。