ekspresi constexpr lambda di C++
Visual Studio 2017 versi 15.3 dan yang lebih baru (tersedia dalam /std:c++17
mode dan yang lebih baru): Ekspresi lambda dapat dinyatakan sebagai constexpr
atau digunakan dalam ekspresi konstan saat inisialisasi setiap anggota data yang diambil atau diperkenalkan diizinkan dalam ekspresi konstan.
int y = 32;
auto answer = [y]() constexpr
{
int x = 10;
return y + x;
};
constexpr int Increment(int n)
{
return [n] { return n + 1; }();
}
Lambda secara constexpr
implisit jika hasilnya memenuhi persyaratan constexpr
fungsi:
auto answer = [](int n)
{
return 32 + n;
};
constexpr int response = answer(10);
Jika lambda secara implisit atau eksplisit constexpr
, dan Anda mengonversinya menjadi penunjuk fungsi, fungsi yang dihasilkan juga constexpr
:
auto Increment = [](int n)
{
return n + 1;
};
constexpr int(*inc)(int) = Increment;
Baca juga
Referensi Bahasa C++
Objek Fungsi di Pustaka Standar C++
Panggilan Fungsi
for_each
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk