Bahasa pengaturcaraan C membenarkan rujukan const memanjangkan hayat objek sementara. Tingkah laku ini telah menjadi subjek perdebatan, dengan sesetengah pihak berpendapat bahawa ia membolehkan prestasi dan fleksibiliti yang lebih baik dalam reka bentuk kod.
Asal usul ciri bahasa ini bermula pada tahun 1993, apabila ia dicadangkan sebagai penyelesaian kepada ketidakkonsistenan dalam pengendalian sementara apabila terikat kepada rujukan. Sekiranya tiada pengoptimuman nilai pulangan (RVO), melarang pengikatan sementara kepada rujukan akan mengenakan penalti prestasi.
Dengan membenarkan rujukan const memanjangkan hayat sementara, jawatankuasa itu bertujuan untuk menghapuskan ketidakkonsistenan ini , sambil mengekalkan potensi manfaat prestasi. Pilihan reka bentuk ini membolehkan fungsi ahli bertukar dengan lancar antara mengembalikan nilai atau rujukan const kepada nilai dalaman sedia ada, tanpa memerlukan pengubahsuaian pada kod pelanggan.
Sebagai contoh, pertimbangkan kelas matriks yang boleh mengembalikan vektor baris atau lajur vektor. Untuk mengoptimumkan prestasi, satu atau jenis vektor lain boleh dikembalikan sebagai rujukan, bergantung pada organisasi dalaman pelaksanaan (storan baris-utama atau lajur-utama). Fleksibiliti ini membolehkan penulis perpustakaan mengubah suai pelaksanaan pada masa hadapan tanpa menjejaskan kod klien, yang sebaliknya memerlukan pengendalian eksplisit jenis nilai pulangan.
Akibatnya, keputusan jawatankuasa untuk melanjutkan hayat sementara apabila terikat kepada rujukan const mempunyai dua tujuan: ia memastikan ketekalan dalam tingkah laku mengikat rujukan dan membolehkan pelaksanaan reka bentuk kod yang dioptimumkan dan boleh disesuaikan.
Atas ialah kandungan terperinci Mengapa Mengikat Rujukan Const pada Objek Sementara Memanjangkan Jangka Hayatnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!