Bolehkah Lambdas Digunakan dalam Ungkapan Malar dalam C?

Barbara Streisand
Lepaskan: 2024-10-30 00:12:29
asal
451 orang telah melayarinya

Can Lambdas Be Used in Constant Expressions in C  ?

Bolehkah Lambdas Menggunakan constexpr?

Dalam versi C terdahulu, kemasukan fungsi lambda dalam ungkapan malar telah dihadkan, seperti yang digariskan dalam [ expr.const]/(2.6). Walau bagaimanapun, N4487, termasuk dalam draf kerja N4582, memperkenalkan perubahan yang membolehkan lambda digunakan dalam ungkapan ini.

Sintaks untuk Constexpr Lambdas

Perubahan yang dicadangkan dalam N4487 menyediakan garis panduan untuk sintaks yang betul apabila menggunakan lambda dalam ungkapan malar:

  • Ungkapan lambda tertentu dibenarkan dalam ungkapan malar.
  • Operasi yang dilakukan pada objek penutupan tertentu dibenarkan dalam ungkapan malar.
  • Jenis penutupan dianggap jenis literal jika setiap ahli data mereka juga jenis literal.
  • Jika penentu constexpr tidak disediakan dalam pengisytihar lambda, operator panggilan fungsi yang dijana akan dipertimbangkan constexpr jika ia memenuhi keperluan fungsi constexpr. Tingkah laku ini sejajar dengan inferens konstexpr tersirat untuk pembina dan fungsi pengendali tugasan.

Penyelesaian untuk Versi C Terdahulu

Untuk versi C sebelum pelaksanaan N4487 , pendekatan alternatif diperlukan untuk menggunakan lambdas dalam ungkapan malar. Satu penyelesaian melibatkan penggunaan teknik pengaturcaraan meta templat untuk mencapai kefungsian yang diingini.

Atas ialah kandungan terperinci Bolehkah Lambdas Digunakan dalam Ungkapan Malar dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!