Rumah > Artikel > pembangunan bahagian belakang > Bolehkah Anda Lulus `auto` sebagai Argumen Fungsi dalam C ?
Melalui Auto sebagai Argumen dalam C
Auto, yang diperkenalkan dalam C 11, berfungsi sebagai jenis pemegang tempat untuk menyimpulkan jenis sebenar berdasarkan permulaan. Walaupun lazimnya digunakan untuk membuat kesimpulan jenis pembolehubah, ia juga mungkin untuk menghantar auto sebagai hujah kepada fungsi.
C 20 Membolehkan Auto sebagai Jenis Parameter Fungsi
C 20 memperkenalkan sokongan untuk menggunakan auto sebagai jenis parameter fungsi. Ini membolehkan fungsi menerima argumen dalam apa jua jenis, membenarkan lebih fleksibiliti dan kebolehgunaan semula kod.
Pertimbangkan contoh berikut:
int function(auto data) { // Do something }
Dalam kod ini, fungsi fungsi menerima argumen jenis auto, yang bermaksud ia boleh menerima sebarang jenis hujah. Ini membolehkan fungsi digunakan dengan jenis data yang berbeza tanpa memerlukan lebihan beban.
Templat Fungsi Disingkat
Apabila digunakan sebagai jenis parameter fungsi, auto bertindak sebagai templat fungsi yang disingkatkan. Ini bermakna fungsi itu boleh digunakan dengan argumen jenis yang berbeza dan jenis argumen akan disimpulkan daripada konteks.
Parameter Auto Terkekang
Semasa C 20 membenarkan parameter auto yang tidak dikekang, ia juga menyokong parameter auto yang dikekang. Parameter auto terkekang menggunakan konsep untuk menentukan kekangan pada jenis hujah. Contohnya:
void function(const Sortable auto& data) { // Do something that requires data to be Sortable }
Dalam kod ini, fungsi fungsi menerima hujah jenis const Autotable&. Ini bermakna bahawa hujah mestilah rujukan const kepada jenis yang memenuhi konsep Sortable. Ini memastikan bahawa fungsi hanya boleh digunakan dengan jenis yang memenuhi keperluan khusus.
Atas ialah kandungan terperinci Bolehkah Anda Lulus `auto` sebagai Argumen Fungsi dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!