Apakah Jenis Penunjuk 'ini' dalam Kaedah Malar dan Tidak Malar C?

Mary-Kate Olsen
Lepaskan: 2024-11-09 21:21:02
asal
234 orang telah melayarinya

What is the Type of the 'this' Pointer in C   Constant and Non-Constant Methods?

Jenis Penunjuk 'ini'

Dalam C , penunjuk 'ini' dalam kaedah kelas merujuk kepada contoh objek semasa. Jenisnya bergantung pada sama ada kaedah itu diisytiharkan const atau tidak.

Kaedah Dalaman Bukan Malar:

Dalam kaedah bukan malar, 'ini' adalah jenis Nama Kelas* ini. Ini membenarkan pengubahsuaian terus pembolehubah ahli objek.

Kaedah Dimalarkan Dalam:

Dalam kaedah const, 'ini' adalah daripada jenis Const ClassName* this. Ini kerana kaedah const tidak boleh mengubah suai keadaan objek.

Kebiasaan Pengkompil dan Sekatan Dilaksanakan:

Sesetengah penyusun, seperti versi MSVC yang lebih lama, boleh melaksanakan ' ini' sebagai penunjuk tetap, tidak kira sama ada kaedah itu const atau tidak. Walau bagaimanapun, ini ialah tingkah laku bukan standard yang tidak mematuhi spesifikasi bahasa C.

Pengesanan Rujukan Nilai:

Dengan pengenalan rujukan nilai dalam C 11, ia menjadi mungkin untuk mengesan tingkah laku tidak standard ini. Kod yang bergantung pada ini akan gagal untuk menyusun dalam pengkompil yang mematuhi standard.

Pelaksanaan MSVC:

Sehingga Visual Studio 2017, MSVC masih menggunakan pelaksanaan bukan standard 'ini' sebagai penunjuk tetap. Ini boleh membawa kepada isu dengan kod yang menggunakan rujukan nilai.

Atas ialah kandungan terperinci Apakah Jenis Penunjuk 'ini' dalam Kaedah Malar dan Tidak Malar C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan