누구나 이와 같은 작업을 수행 할 수있는 라이브러리를 아는 사람이 있습니까? magic_functor 라이브러리 제공 펑 및 A 및 B 인수학/산술 표현식을 계산하기위한 C++ functor 라이브러리
std::transform(vecA.begin(), vecA.end(),
vecB.begin(),
vecOutput.begin(),
// run-time specified expression
magic_functor<float>("exp(a/(b+3))")
);
는 vecA 및 vecB 통해 반복된다.
내가 직접 뭔가를 생각해 낼 수 있었지만 (너무 재미 있었을 것이다) 휠을 재발 명하는 것을 피하는 것이 더 좋다. (내 상사가 나를 죽일 수도있다.) 웹 검색에 시간을 할애했지만 법안에 맞는 것을 찾을 수는 없습니다.
유연성이 높고 빠를 필요가 있으므로 문자열을 한 번만 구문 분석 (예 : 구성시 내부적으로 실행 스택 만들기)하는 것이 가장 이상적이지만 다른 솔루션에 개방적입니다.
실제로 재미있는 것 같습니다. 그것. – chris
필자는 필자가 필요로하는 일종의 바이너리 펑터 인터페이스를 사용하여 라이브러리를 제안 할 수는 없다. 그러나 나는 당신의'exp (a/(b + 3))'를 다루는 람다 식을 작성하는 것이 상당히 간단 할 것이라고 생각한다. 여러 위치에서 반복해야하는 경우 가장 복잡한 솔루션 일 수는 없지만 가독성이 향상되면 나에게 도움이 될 것입니다. –