Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penentu Fungsi Ahli yang manakah untuk Digunakan untuk Objek const, bukan const dan Rvalue dalam C ?

Penentu Fungsi Ahli yang manakah untuk Digunakan untuk Objek const, bukan const dan Rvalue dalam C ?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-23 15:57:02735semak imbas

Which Member Function Specifier to Use for const, non-const, and Rvalue Objects in C  ?

Penentukan Fungsi Ahli: Mendedahkan Peranan const&, &, dan &&&

Di alam C , seseorang mungkin menghadapi fungsi ahli yang dihiasi dengan penentu enigmatik seperti const&, &, dan &&&. Walaupun simbol ini mungkin kelihatan tidak berbahaya, ia memainkan peranan penting dalam menentukan kelakuan dan kebolehcapaian fungsi ini.

Membedah penentu pertama, const&, mendedahkan bahawa ia menetapkan beban berlebihan yang bertujuan untuk const, bukan const dan objek nilai. Pertimbangkan contoh berikut:

<code class="cpp">const A a = A();
*a;</code>

Dalam senario ini, const& overload digunakan kerana a ialah objek const lvalue.

Seterusnya, & specifier mengehadkan lebihan kepada objek bukan const . Contohnya:

<code class="cpp">A a;
*a;</code>

Di sini, & lebihan digunakan memandangkan a ialah objek bukan const.

Akhir sekali, penentu &&& memenuhi secara eksklusif kepada objek rnilai, seperti yang digambarkan di bawah:

Atas ialah kandungan terperinci Penentu Fungsi Ahli yang manakah untuk Digunakan untuk Objek const, bukan const dan Rvalue dalam C ?. 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