6
람다를 정의하는 함수가 있다면 함수가 호출 될 때마다 lamda가 '생성'됩니까? 나는 그것을 방지하기 위해 그것을 고정해야합니까?람다를 고정시켜야합니까?
void func(int x)
{
static auto lambda = [&x](int y) -> bool {
// ...
};
}
람다를 정의하는 함수가 있다면 함수가 호출 될 때마다 lamda가 '생성'됩니까? 나는 그것을 방지하기 위해 그것을 고정해야합니까?람다를 고정시켜야합니까?
void func(int x)
{
static auto lambda = [&x](int y) -> bool {
// ...
};
}
아니요, 참조로 로컬 변수를 캡처하므로 정적으로 설정하지 마십시오.
나는 람다를 구성하는 비용이 무엇인지 전혀 알지 못합니다. 성능 문제라고 생각되면 벤치 마크하십시오.
아, 맞아. 변수를 참조로 캡처하지 않았다면 어떻게 될까요? –
람다가 이러한 걱정을 할만 큼 큰 경우 전역 함수로 만들고 캡처 된 값을 추가 인수로 전달할 수 있습니다. –
@Kerrek SB : 크지는 않다. 나는 단지 궁금했다. –