C++의 가변 함수는 사용자가 임의의 개수의 인수로 함수를 호출 할 수있게합니다. 예를 들어, sscanf는 구문 분석 할 문자열, 형식 문자열 및 구문 분석 된 항목의 값을 취할 매개 변수 집합을 입력으로 사용합니다. 이 패러다임을 비동기로 만들고 싶다면 어떻게해야할까요? 일부 데이터를 구문 분석하여 일부 바이트에서 다양한 수의 매개 변수를 추출해야합니다. 추출해야하는 매개 변수는 sscanf와 같은 형식 문자열로 지정됩니다.C++ 가변 콜백
function <void (int, int, int)> myfunc = [=] (int a, int b, int c)
{
// Do something here!
};
asyncsscanf(my_bytes, "iii", myfunc);
asyncsscanf가 필요한 처리를해야 완료 할 때 나는 형식 문자열에 지정된 올바른 인수 myfunc에 전화를하고 싶습니다 : 내 기능은 다음과 같이 호출 할 수 싶습니다. 그런 일을 할 수 있습니까?
고맙습니다.
원시 타입이있을 때 왜 ""iii "'가 필요합니까? – Yakk
나는 당신의 요점을 알고 있는지 확신하지 못합니다. 더 자세히 설명해 주시겠습니까? –
함수에''iii''를 전달합니다. 왜?'myfunc'는'function'유형입니다 - 왜 그 정보가 중복 된 문자열을 전달합니까? 왜 런타임 데이터를 사용합니까? –
Yakk