Rumah > pembangunan bahagian belakang > C++ > Bolehkah C Functions Menggunakan \'auto\' sebagai Jenis Argumen?

Bolehkah C Functions Menggunakan \'auto\' sebagai Jenis Argumen?

DDD
Lepaskan: 2024-11-17 06:12:03
asal
716 orang telah melayarinya

Can C   Functions Utilize

Melalui Auto sebagai Argumen dalam C

Terdapat kaedah untuk menggunakan kata kunci "auto" sebagai hujah apabila menghantarnya kepada yang lain fungsi. Maksudnya, anda boleh mentakrifkan fungsi seperti ini:

int function(auto data)
{
    // Does something
}
Salin selepas log masuk

Pengenalan Auto C 20 sebagai Jenis Parameter Fungsi

C 20 membolehkan penggunaan "auto" sebagai jenis parameter fungsi. Pertimbangkan coretan kod berikut sebagai contoh:

int function(auto data) {
   // Do something, there are no constraints on data
}
Salin selepas log masuk

Templat Fungsi Disingkat

Selain itu, "auto" boleh digunakan sebagai templat fungsi yang disingkatkan. Ini ialah contoh khusus bagi kekangan jenis yang tidak mengekang, atau, dengan kata lain, "parameter auto tanpa kekangan." Sebaliknya, "parameter auto terkekang," akan menggunakan konsep dan muncul seperti berikut:

void function(const Sortable auto& data) {
    // Do something that requires data to be Sortable
    // Assuming there is a concept named Sortable
}
Salin selepas log masuk

Penjelasan daripada Spesifikasi C

Spesifikasi C mentakrifkan "penentu jenis pemegang tempat" seperti berikut:

type-constraint<sub>opt</sub> auto

type-constraint<sub>opt</sub> decltype ( auto )
Salin selepas log masuk

Penentukan jenis pemegang tempat tersebut menetapkan jenis pemegang tempat yang tertakluk kepada penggantian kemudian melalui potongan daripada pemula. Apabila digunakan dalam "decl-specifier-seq" bagi pengisytiharan fungsi atau ungkapan lambda, penentu jenis pemegang tempat dalam bentuk "type-constraintopt auto" menunjukkan bahawa fungsi tersebut ialah templat fungsi yang disingkatkan. (seperti pada 9.3.3.5).

Atas ialah kandungan terperinci Bolehkah C Functions Menggunakan \'auto\' sebagai Jenis Argumen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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