Apakah Tujuan Pengendali Anak Panah (->) dalam Pengepala Fungsi C?

Mary-Kate Olsen
Lepaskan: 2024-11-13 05:49:02
asal
328 orang telah melayarinya

What is the Purpose of the Arrow Operator (->) dalam Pengepala Fungsi C? 
) 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;
}
Salin selepas log masuk

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...)
Salin selepas log masuk

Sintaks Pengisytiharan Fungsi

Dua sintaks pengisytiharan fungsi dalam C 11 ialah:

  1. Tradisional Sintaks:

    <return-type> <identifier> (<argument-declarations...>)
    Salin selepas log masuk
  2. Sintaksis Alternatif:

    <auto> <identifier> (<argument-declarations...>) -> <return-type>
    Salin selepas log masuk

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...>)
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan