Rumah >pembangunan bahagian belakang >C++ >Apakah yang Dirujuk Penunjuk 'ini' dalam Fungsi Ahli C?
Penunjuk Enigmatik 'ini': Menyingkap Tujuannya
Dalam bidang pengaturcaraan berorientasikan objek, penunjuk 'ini' memegang peranan penting. Ia berfungsi sebagai atribut di mana-mana dalam fungsi ahli, namun tingkah lakunya yang membingungkan sering membingungkan orang baru.
Memahami Peranan 'ini'
Untuk membongkar misteri, mari kita selidiki ke dalam senario C anda dihadapi:
void do_something_to_a_foo(Foo *foo_instance); void Foo::DoSomething() { do_something_to_a_foo(this); }
Apakah Rujukan 'ini'?
Persoalan penting masih ada: apakah yang dimaksudkan oleh kata kunci 'ini' dalam ahli DoSomething() fungsi? Jawapannya terletak pada sambungan intimnya dengan objek semasa.
ini sebagai Parameter Tersembunyi
Penunjuk 'ini' pada asasnya berfungsi sebagai parameter tersembunyi. Apabila tika kelas Foo (cth., x) menggunakan kaedah DoSomething(), ia secara tersirat menghantar alamat ingatannya sendiri sebagai 'ini'.
Contoh Penjelasan
Untuk mengukuhkan konsep ini, pertimbangkan seruan berikut:
Foo x; x.DoSomething();
Apabila x memanggil DoSomething(), 'ini' dalam fungsi ahli akan secara automatik memegang alamat x.
Perkaitan 'ini' dalam Fungsi Ahli Bukan statik
Bukan -fungsi ahli statik, seperti DoSomething(), mempunyai akses terus kepada data ahli objek yang mengandungi. Penunjuk 'ini' membolehkan kebolehcapaian ini dengan menyediakan pautan ke memori objek itu sendiri. Melalui 'ini', fungsi ini boleh memanipulasi atribut dan kaedah objek yang dimilikinya.
Atas ialah kandungan terperinci Apakah yang Dirujuk Penunjuk 'ini' dalam Fungsi Ahli C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!