>

현재 이와 같은 것이 있습니다

void foo::setup()
{
        //this->setSubTitleText("Summary");
        button("ok")->onPress = [=](Mtype*)
        {
            this->bar(this); //Why is the this pointer being recognized here?
        };
}

와이즈 비즈  람다의 캡처 조항에서 = 에 대한 액세스 권한 부여  바늘. 내 경우에는? 나는 this 를 사용하는 인상을 받았다  포인터 명시 적으로 이것을 캡처해야합니다

this

모든 제안?

button("ok")->onPress = [=,this](Mtype*) { this->bar(this); //Why is the this pointer being recognized here? };

  • 답변 # 1

    cppreference.com에 다음과 같이 명시되어 있다고 생각합니다.

    와이즈 비즈

    Lambda capture

    The captures is a comma-separated list of zero or more captures, optionally beginning with the capture-default. The only capture defaults are

    & (implicitly capture the odr-used automatic variables by reference) and

    = (implicitly capture the odr-used automatic variables by copy).

    The current object (*this) can be implicitly captured if either capture default is present. If implicitly captured, it is always captured by reference, even if the capture default is =.

  • 이전 django - multipleobjectsreturned - get ()이 둘 이상의 피드를 반환했습니다 2를 반환했습니다
  • 다음 python - 목록 이해에서 왜 그렇지 않은 경우에 앞서 if-else가 필요한가?