Rumah >pembangunan bahagian belakang >C++ >Bilakah Rujukan Nilai `const Foo&&` Berguna dalam C ?
Dalam C , seseorang mungkin mempersoalkan kegunaan rujukan nilai r kepada objek const. Untuk mendalami topik ini dengan lebih mendalam, mari kita analisa soalan: "Adakah terdapat sebarang senario di mana const Foo& & boleh berfaedah, dengan mengandaikan Foo ialah jenis kelas?"
Apa yang mengejutkan, rujukan const rvalue menawarkan faedah yang berbeza. Draf C 0x itu sendiri mencontohkan penggunaannya dalam kod berikut:
template <class T> void ref(const T& &) = delete; template <class T> void cref(const T& &) = delete;
Lebihan beban ini secara berkesan menghalang fungsi lain, seperti ref(T&) atau cref(const T&), daripada terikat pada objek rvalue. Ini menjamin kelakuan yang dimaksudkan bagi fungsi ini.
Dalam dokumen standard rasmi N3290, yang tidak tersedia secara umum, kod yang sama terdapat dalam bahagian 20.8:
template <class T> void ref(const T& &) = delete; template <class T> void cref(const T& &) = delete;
Selain itu, dalam draf terbaharu, N3485, lebihan rujukan nilai const ini masih terdapat dalam bahagian 20.8, menonjolkan kesinambungannya perkaitan.
Oleh itu, walaupun pada mulanya seseorang mungkin menganggap rujukan nilai const kekurangan utiliti, aplikasi praktikalnya dalam standard C dan konteks lain menekankan kepentingannya.
Atas ialah kandungan terperinci Bilakah Rujukan Nilai `const Foo&&` Berguna dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!