Rumah > pembangunan bahagian belakang > C++ > Apakah Maksud Double Ampersand (&&) dalam C 11?

Apakah Maksud Double Ampersand (&&) dalam C 11?

Mary-Kate Olsen
Lepaskan: 2024-12-22 05:54:09
asal
474 orang telah melayarinya

What Does the Double Ampersand (&&) Mean in C  11?

Menyahkod Double Ampersand dalam C 11

C 11 memperkenalkan operator baharu, double ampersand (T&&), yang telah mendapat perhatian ramai . Simbol yang membingungkan ini telah mencetuskan rasa ingin tahu dan persoalan mengenai kepentingan dan kegunaannya.

Apakah itu Double Ampersand?

Operator double ampersand mengisytiharkan rujukan nilai. Rujukan rvalue ini, berbanding rujukan lvalue tradisional dalam C 03, boleh mengikat kedua-dua nilai r (sementara) dan lvalues ​​tanpa memerlukan kelayakan const. Akibatnya, ia membenarkan pengisytiharan pembolehubah rujukan rnilai yang boleh merujuk kepada sementara.

Tujuan Rujukan Rnilai

Rujukan Rnilai terutamanya menyediakan peningkatan berikut :

Bergerak Semantik:

Semantik alih mendayakan takrifan pembangun alih dan alihkan pengendali tugasan yang mengambil rujukan rnilai dan bukannya rujukan nilai const. Fungsi Pindah mensimulasikan tingkah laku penyalinan sambil mengelakkan keperluan untuk mengekalkan sumber. Mereka biasanya mengubah suai sumber untuk melepaskan pemilikan sumbernya, menghasilkan operasi yang lebih cekap dan mengurangkan salinan yang tidak diperlukan.

Pengiriman Sempurna:

Rujukan nilai memudahkan pemajuan yang betul hujah dalam fungsi templat. Ini membolehkan penciptaan fungsi kilang generik seperti std::forward yang boleh menerima sebarang gabungan argumen lvalue atau rvalue dan menyerahkannya kepada pembina yang sesuai.

Sifat Tambahan Rujukan Rvalue:

  • Nilai lebih suka rujukan nilai, manakala nilai nilai lebih suka rujukan nilai dalam resolusi lebihan.
  • Rujukan rnilai secara tersirat terikat kepada rnilai dan sementara yang timbul daripada penukaran tersirat.
  • Rujukan rnilai dinamakan ialah lnilai, manakala rujukan rnilai tidak dinamakan ialah rnilai.

Atas ialah kandungan terperinci Apakah Maksud Double Ampersand (&&) dalam C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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