Rumah >pembangunan bahagian belakang >C++ >Apakah Kelayakan Rujukan (& dan &&) dalam Fungsi Ahli C dan Bagaimana Ia Mempengaruhi Rujukan Objek?

Apakah Kelayakan Rujukan (& dan &&) dalam Fungsi Ahli C dan Bagaimana Ia Mempengaruhi Rujukan Objek?

Linda Hamilton
Linda Hamiltonasal
2024-12-10 15:22:12382semak imbas

What are Reference Qualifiers (& and &&) in C   Member Functions and How Do They Affect Object References?

Kelayakan Rujukan dalam Pengisytiharan Fungsi Ahli

Dalam C , ampersand tunggal (&) dan ampersand berganda (&&) boleh digunakan sebagai kelayakan rujukan dalam pengisytiharan fungsi ahli. Kelayakan ini mempengaruhi jenis parameter objek tersirat untuk fungsi ahli bukan statik.

Ampersan Tunggal (Rujukan Tunggal)

Ampersan tunggal (&) menunjukkan bahawa fungsi ahli boleh digunakan apabila objek adalah rujukan nilai (iaitu, ia merujuk kepada objek sedia ada). Dalam erti kata lain, fungsi dipanggil dengan objek yang diluluskan melalui rujukan.

Contoh berikut menunjukkan penggunaan kelayakan rujukan tunggal:

class wrap {
public:
   operator obj() const & { ... } // Copy from me.
};

Di sini, operator obj( ) fungsi boleh digunakan pada rujukan objek seperti my_object.operator obj().

Perbandingan dengan No Ampersand

Jika tiada kelayakan rujukan ditentukan, parameter objek tersirat ialah rujukan lnilai secara lalai. Oleh itu, pengisytiharan fungsi berikut adalah bersamaan dengan yang di atas:

class wrap {
public:
   operator obj() const { ... } // Copy from me.
};

Nota Tambahan

  • Ampersan berganda (&&) digunakan untuk menentukan rujukan nilai (iaitu, ia merujuk kepada objek sementara), yang digunakan apabila objek itu akan menjadi berpindah.
  • Kelayakan rujukan membantu dalam mengendalikan rujukan nilai dan nilai dengan betul dan boleh mengoptimumkan prestasi dengan mengelakkan salinan yang tidak diperlukan.
  • Adalah penting untuk menggunakan kelayakan rujukan yang betul untuk memastikan fungsi ahli digunakan dengan betul dan cekap.

Atas ialah kandungan terperinci Apakah Kelayakan Rujukan (& dan &&) dalam Fungsi Ahli C dan Bagaimana Ia Mempengaruhi Rujukan Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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