C++의 constexpr 람다 식
Visual Studio 2017 버전 15.3 이상 (모드 이상에서 /std:c++17
사용 가능): 상수 식 내에서 캡처하거나 도입하는 각 데이터 멤버의 초기화가 허용되는 경우 람다 식을 상수 식으로 constexpr
선언하거나 상수 식에서 사용할 수 있습니다.
int y = 32;
auto answer = [y]() constexpr
{
int x = 10;
return y + x;
};
constexpr int Increment(int n)
{
return [n] { return n + 1; }();
}
결과가 함수의 constexpr
요구 사항을 충족하는 경우 람다는 암시적으로 constexpr
발생합니다.
auto answer = [](int n)
{
return 32 + n;
};
constexpr int response = answer(10);
람다가 암시적 또는 명시적으로 constexpr
람다를 함수 포인터로 변환하면 결과 함수도 constexpr
다음과 같습니다.
auto Increment = [](int n)
{
return n + 1;
};
constexpr int(*inc)(int) = Increment;
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기