Rumah > pembangunan bahagian belakang > C++ > Apakah Nama Kelas yang Disuntik dan Bagaimana Penggunaannya Berkembang?

Apakah Nama Kelas yang Disuntik dan Bagaimana Penggunaannya Berkembang?

Linda Hamilton
Lepaskan: 2024-12-23 19:03:15
asal
186 orang telah melayarinya

What is an Injected Class Name and How Has Its Use Evolved?

Nama Kelas yang Disuntik: Tujuan dan Evolusi Sejarah

Tanggapan nama kelas yang disuntik merujuk kepada pengisytiharan tersirat kelas dalam kelasnya sendiri skop. Ini membolehkan nama kelas digunakan dalam badan kelas untuk merujuk kepada kelas itu sendiri, walaupun dengan kehadiran entiti lain dengan nama yang sama dalam skop yang disertakan.

Tujuan Nama Kelas yang Disuntik

Nama kelas yang disuntik mempunyai beberapa tujuan praktikal, termasuk:

  • Penyelesaian Kekaburan: Ia menyahkekaburan antara rujukan kepada kelas dan entiti lain dengan nama yang sama dalam skop yang dilampirkan. Ini amat penting untuk ahli kelas dan fungsi ahli yang berkongsi nama yang sama dengan kelas.
  • Kemudahan dalam Templat Kelas: Ia membolehkan penggunaan nama kelas dalam templat tanpa menyatakan senarai hujah templat, memudahkan kod.

Bersejarah Pengenalan

Konsep nama kelas yang disuntik wujud dalam beberapa bentuk walaupun sebelum C . ARM (Manual Rujukan Ada) menyatakan bahawa nama kelas boleh digunakan dalam penentu kelas untuk merujuk kepada kelas itu sendiri.

Dalam C 98, nama kelas yang disuntik telah dimasukkan secara tersirat ke dalam skop kelas. Walau bagaimanapun, istilah "injected-class-name" telah diperkenalkan dalam C 03 dengan DR 147.

Contoh Kes Penggunaan

Pertimbangkan kelas berikut:

class X {
public:
  static X create() { return X(); }
};
Salin selepas log masuk

Tanpa nama kelas yang disuntik, tidak jelas sama ada create() mencipta objek X sementara atau memanggil fungsi X. Nama kelas yang disuntik memastikan bahawa dalam kandungan X, nama X sentiasa merujuk kepada kelas itu sendiri, menyahkekaburan maksud create().

Atas ialah kandungan terperinci Apakah Nama Kelas yang Disuntik dan Bagaimana Penggunaannya Berkembang?. 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