Bilakah Penggunaan 'ini->' Sangat Diperlukan dalam C?

Barbara Streisand
Lepaskan: 2024-11-04 13:59:02
asal
605 orang telah melayarinya

When is Using " Sangat Perlu dalam C ? " />" Sangat Perlu dalam C ? " />

Bila Menggunakan "this->" dalam C

Walaupun bertahun-tahun pengalaman pengaturcaraan C, penggunaan "this->" sering menimbulkan soalan. Walaupun kod menggunakan "ini->" mungkin berfungsi dengan betul tanpanya, senario tertentu menjamin penggunaannya: hierarki kelas templat.

Pertimbangkan contoh berikut:

<code class="cpp">template<typename T>
class A {
protected:
  T x;
};

template<typename T>
class B : A<T> {
public:
  T get() {
    return this->x;
  }
};</code>
Salin selepas log masuk

Dalam templat hierarki kelas, "this->" adalah perlu untuk menyatakan secara jelas bahawa "x" ialah ahli warisan kelas, terutamanya dengan warisan templat Tanpa "this->", pengkompil mungkin menghadapi kesamaran semasa pencarian nama.

Selain Senario dengan Templat

Dalam hierarki kelas bukan templat dan konteks lain, menggunakan "ini->" untuk mengakses fungsi atau pembolehubah ahli secara amnya tidak perlu dan boleh ditinggalkan tanpa sebarang kesan kefungsian atau sampingan.

Kesimpulan

Walaupun "ini->" secara amnya tidak diperlukan, penggunaannya adalah penting dalam hierarki kelas templat untuk menyelesaikan kekaburan semasa pencarian nama. Untuk semua senario lain, menggunakan "ini->" adalah pilihan dan tidak menjejaskan fungsi kod dalam kebanyakan kes.

Atas ialah kandungan terperinci Bilakah Penggunaan 'ini->' Sangat Diperlukan dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!