Rumah > pembangunan bahagian belakang > C++ > Bilakah Rujukan Nilai `const Foo&&` Berguna?

Bilakah Rujukan Nilai `const Foo&&` Berguna?

DDD
Lepaskan: 2024-12-09 19:00:22
asal
608 orang telah melayarinya

When Are `const Foo&&` Rvalue References Useful?

Rujukan Rnilai kepada Konst: Perspektif Praktikal

Walaupun kepercayaan umum bahawa rujukan nilai kepada const (const Foo&&) tidak mempunyai kegunaan, terdapat sememangnya aplikasi praktikal untuk mereka, seperti yang ditunjukkan oleh draf C 0x sendiri.

Draf C 0x menggunakan rujukan sedemikian dalam pelbagai keadaan untuk mengelakkan pengikatan nilai r yang tidak diingini kepada fungsi ref(T&) dan cref(const T&) yang lain. Fungsi ini direka khusus untuk menerima hanya lvalues ​​(rujukan kepada objek), dan rujukan rvalue kepada const memastikan bahawa rvalues ​​(rujukan kepada sementara) tidak tersilap terikat.

Baru-baru ini, selepas menyemak standard rasmi N3290 (bukan secara terbuka boleh diakses), kami menemui baris berikut dalam objek Fungsi 20.8 [function.objects]/p2:

templat void ref(const T&&) = padam;
template void cref(const T&&) = delete;

Pemeriksaan lanjut draf pasca-C 11 yang terbaharu, N3485 (tersedia awam), mengesahkan kegigihan baris ini dalam 20.8 Objek fungsi [function.objects]/p2 .

Contoh ini menggambarkan kegunaan rujukan rnilai kepada const dalam tertentu senario, terutamanya apabila memastikan kelakuan yang betul bagi fungsi lebihan dan menghalang pengikatan nilai yang tidak disengajakan.

Atas ialah kandungan terperinci Bilakah Rujukan Nilai `const Foo&&` Berguna?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan