여러 클래스에 대해 클래스 멤버를 사용하는 C 콜백
문제:
C에서 어떻게 각각 자체 콜백 멤버가 있는 여러 클래스에서 작동하는 일반 콜백 함수를 만들 수 있나요? 함수?
해결 방법:
원래는 정적 콜백 메서드와 인스턴스에 대한 포인터를 사용했지만 이 접근 방식을 개선할 수 있습니다. 다음은 두 가지 대체 솔루션입니다.
C 11 std::function 및 std::bind:
void addHandler(std::function<void(int)> callback);
std::bind(&MyClass::Callback, this, _1)
C 11 Lambda 함수 사용:
람다 함수를 사용하면 더 단순화할 수 있습니다. 코드:
handler->addHandler([](int x) { std::cout << "x is " << x << '\n'; });
위 내용은 여러 클래스에 대한 일반 C 콜백을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!