) dalam Pengepala Fungsi C? " />
Memahami Operator Anak Panah (->) dalam Pengepala Fungsi
Kod yang dimaksudkan memperkenalkan pengendali anak panah (->) dalam tajuk fungsi:
template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; }
Sintaks ini merujuk kepada sintaks pengisytiharan fungsi alternatif yang diperkenalkan dalam C 11. Ia menyediakan alternatif kepada kaedah tradisional untuk menentukan jenis pulangan:
return-type identifier (argument-declarations...)
Sintaks Pengisytiharan Fungsi
Dua sintaks pengisytiharan fungsi dalam C 11 ialah:
Tradisional Sintaks:
<return-type> <identifier> (<argument-declarations...>)
Sintaksis Alternatif:
<auto> <identifier> (<argument-declarations...>) -> <return-type>
Menentukan Jenis Pulangan dengan Dectype
Pengendali anak panah (->) membenarkan untuk mendapatkan jenis pulangan berdasarkan jenis argumen menggunakan decltype membolehkan kami menentukan jenis ungkapan tanpa menyatakannya secara eksplisit.
Dalam contoh yang diberikan, decltype(a b) menentukan. jenis pulangan berdasarkan ungkapan a b. Operator - > ungkapan.
Kemas Kini C 14
C 14 memperkenalkan satu lagi penyederhanaan sintaks:
<auto> <identifier> (<argument-declarations...>)
Ini dibenarkan jika fungsi ditakrifkan sepenuhnya sebelum digunakan dan semua penyata pulangan menyimpulkan kepada jenis yang sama. Walau bagaimanapun, - > sintaks kekal berguna untuk menyembunyikan badan fungsi dalam fail sumber untuk fungsi awam yang diisytiharkan dalam pengepala.
Atas ialah kandungan terperinci Apakah Tujuan Pengendali Anak Panah (->) dalam Pengepala Fungsi C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!