C++中为什么存在this指针?
生活随笔
收集整理的這篇文章主要介紹了
C++中为什么存在this指针?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在這篇文章中 初識類和對象,談到了類的初步認識和基本操作方法。
成員函數存儲在公共的代碼段,不同的對象調用成員函數時候,那么編譯器如何知道具體操作的是哪一個對象呢?
在這里就引出了this指針。
C++編譯器給每個 “非靜態的成員函數” 增加了一個隱藏的指針參數,讓該指針指向當前對象(函數運行時調用該函數的對象),在函數體中所有成員變量的操作,都是通過這個指針來完成的。只不過所有的操作對用戶來說都是透明的,不需要用戶來傳遞,編譯器自動完成。
?
?
?
this指針特性:
例:
class Student { private:char _name[20];char _sex[5];int _age; public:void StudentInit(const char *name, const char *sex, int age);void Print(); };其操作方法:
其最后的輸出都是一樣的,因為this為隱藏指針,編譯器會自動加上。
?
?
?
this指針可以為空嘛?
?
?
?
成員變量相當于成員函數的全局變量。
但是成員變量在后,成員變量的使用在前,編譯器為什么不報錯呢?
編譯器處理類的方法:
總結
以上是生活随笔為你收集整理的C++中为什么存在this指针?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WorkNC刀柄轮廓导入方法
- 下一篇: jass 添加资源的代码