天天看點

06--c++養成之路(this 指針)

this 是c++中的一個關鍵字,也是一個const(常成員)指針。指向目前對象,通過它可以通路目前對象的所有成員。用->來通路成員變量或成員函數。
成員函數最終被編譯成與對象無關的普通函數,除了成員變量,會丢失所有資訊,是以編譯時要在成員函數中添加一個額外的參數,把目前對象的首位址傳入,以此來關聯成員函數和成員變量。這個額外的參數,實際上就是 this,它是成員函數和成員變量關聯的橋梁。它并不出現在代碼中,而是在編譯階段由編譯器默默地将它添加到參數清單中。
#include<iostream>
using namespace std;
#if 1
class Dog{
  int m_age;
  string m_name;
public:
  Dog(int age,string name){
    this->m_age = age;
    this->m_name = name;//this 指針
  }
};
int main(){


}
#endif