Apakah Penentu Fungsi Ahli &, &&, dan const& Digunakan untuk dalam C ?

Patricia Arquette
Lepaskan: 2024-10-23 22:47:30
asal
515 orang telah melayarinya

What Member Function Specifiers Are &, &&, and const& Used for in C  ?

Penentukan Fungsi Ahli dalam C : const&, &, dan &&

Pengenalan:

Dalam C , fungsi ahli boleh diisytiharkan dengan pelbagai penentu. Selain daripada const biasa, dua penentu tambahan, & dan &&, telah diperkenalkan dalam standard C 11. Artikel ini bertujuan untuk menjelaskan maksud dan penggunaan penentu ini.

Memahami Penentu:

const&:

  • Penentukan ini menunjukkan bahawa fungsi ahli boleh digunakan pada kedua-dua objek const dan bukan const.
  • Walau bagaimanapun, ia memerlukan objek untuk menjadi lvalue (iaitu, bukan sementara atau rvalue).

Contoh:

<code class="cpp">class A {
public:
    const A& operator*() const&; // Can be invoked on both const and non-const lvalues
};</code>
Salin selepas log masuk

&:

  • Penentukan ini menunjukkan bahawa fungsi ahli boleh digunakan hanya pada objek bukan const.
  • Ia juga memerlukan objek untuk menjadi lvalue.

Contoh:

<code class="cpp">class A {
public:
    A& operator*() &; // Can be invoked only on non-const lvalues
};</code>
Salin selepas log masuk

&&:

  • Penentukan ini menunjukkan bahawa fungsi ahli boleh digunakan hanya pada objek rnilai (iaitu, sementara atau ungkapan).
  • Dalam erti kata lain, ia melangkau skop kelas dan secara langsung memanggil fungsi ahli pada objek sementara.

Contoh:

<code class="cpp">class A {
public:
    A&& operator*() &&; // Can be invoked only on rvalues
};</code>
Salin selepas log masuk

Penggunaan dalam Amalan:

Penentukan ini membenarkan definisi fungsi ahli yang lebih spesifik dan cekap.

  • const&: Berguna untuk fungsi yang tidak mengubah suai objek atau menjamin bahawa hasilnya tidak akan digunakan untuk mengubah suai objek.
  • &: Memastikan objek bukan const dan menghalang pengkompil daripada mencipta salinan sementara secara automatik.
  • &&: Mengoptimumkan prestasi dengan mengelakkan penciptaan objek dan pemusnahan untuk objek sementara.

Kesimpulan:

Penentukan const&, &, and && memberikan kawalan dan fleksibiliti yang lebih besar apabila mentakrifkan fungsi ahli dalam C . Memahami nuansa mereka membolehkan pengaturcara menulis kod yang lebih cekap dan mantap.

Atas ialah kandungan terperinci Apakah Penentu Fungsi Ahli &, &&, dan const& Digunakan untuk dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!