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