Rumah >pembangunan bahagian belakang >C++ >Bolehkah Fungsi Lambda Digunakan dalam Konteks `constexpr`?
Sokongan constexpr untuk Fungsi Lambda
sokongan constexpr untuk fungsi lambda telah menjadi topik yang dibincangkan secara meluas dalam komuniti C. Walaupun lambda pada masa ini tidak dibenarkan dalam ungkapan tetap mengikut [expr.const]/(2.6), N4487, yang disertakan dalam draf kerja N4582, bercadang untuk mengalih keluar sekatan ini.
Cadangan lambda- perubahan berkaitan:
Contoh:
Contoh berikut akan sah setelah N4487 diterima:
<code class="c++">struct Test { static const int value = []() constexpr { return 0; } (); };</code>
Penyelesaian:
Sebagai penyelesaian sebelum sokongan constexpr ditambahkan secara rasmi, anda boleh menggunakan templat fungsi dan bukannya lambda:
<code class="c++">struct Test { template <typename> static const int value = 0; };</code>
Atas ialah kandungan terperinci Bolehkah Fungsi Lambda Digunakan dalam Konteks `constexpr`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!