Rumah >pembangunan bahagian belakang >C++ >Mengapa `std::optional` tidak Menyokong Jenis Rujukan?

Mengapa `std::optional` tidak Menyokong Jenis Rujukan?

Susan Sarandon
Susan Sarandonasal
2024-10-26 18:40:30268semak imbas

Why Doesn't `std::optional` Support Reference Types?

Rujukan Pilihan: Ketiadaan dalam std::optional

Tidak seperti kelas pilihan Boost, yang menyokong jenis rujukan, std::optional Library Standard kekurangan fungsi ini. Peninggalan ini telah menimbulkan pertanyaan tentang alasan di sebalik keputusan ini.

Kurang Pengkhususan

Apabila std::optional pada mulanya dicadangkan sebagai std::experimental::optional in libc , ahli jawatankuasa menyuarakan kebimbangan mengenai rujukan pilihan. Selepas itu, dalam semakan ketiga cadangan (n3527), penulis memilih untuk menjadikan rujukan pilihan sebagai cadangan tambahan untuk meningkatkan kemungkinan nilai pilihan diluluskan dan dimasukkan ke dalam C 14.

Prospek Masa Depan

Walaupun rujukan pilihan tidak masuk ke C 14 atas sebab lain, jawatankuasa tidak menolaknya secara mentah-mentah. Mereka tetap terbuka kepada kemungkinan memasukkan rujukan pilihan dalam piawaian C masa hadapan jika cadangan rasmi dibentangkan.

Penyelesaian Alternatif

Sementara itu, pembangun boleh mempertimbangkan penyelesaian alternatif seperti pembungkus objek tersuai atau menggunakan rangsangan::pustaka pilihan, yang menyediakan fungsi untuk jenis rujukan.

Atas ialah kandungan terperinci Mengapa `std::optional` tidak Menyokong Jenis Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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