함수형 프로그래밍을 사용하여 코드를 더 잘 작성하고 싶습니다만 전문가는 아닙니다.함수형 프로그래밍을 사용한 선택 생존 수 계산
std::vector<Item*>* collection;
내가 항목에 선택을 적용해야합니다
나는 항목에 대한 포인터의 컬렉션이 있습니다. 선택은 여러 단계로 구성되어, 모두가 함수 내에서 코딩 :
bool pass_step0(const Item& item);
를 내가 선택을 생존 얼마나 많은 요소 알아야 할 모든 단계를 들면. 모든 단계의 and
을 통과하면 하나의 요소가 선택에서 생존합니다. 그래서 내가이 코드에서 많은 반복이 나는 글로벌 인덱스 i
를 사용할 필요가
std::vector<int> nsurvivals_after_step;
std::vector<bool> mask(collection->size(), true);
int i = 0;
for (item : *collection) {
if (not(pass_step0(*item)) { mask[i] = false; }
++i;
}
nsurvivals.append(count(mask.begin(), mask.end(), true));
i = 0;
for (item : *collection) {
if (not(pass_step1(*item)) { mask[i] = false; }
++i;
}
nsurvivals.append(count(mask.begin(), mask.end(), true));
뭐하는 거지입니다. 그것을 개선하기 위해보다 정교한 C++ 기능을 사용하는 방법?
내가 코드 어디에도 볼 수없는 추가 ': 여러 단계를 통과 할 경우 또한, 당신은 단지 파이프를 계속 할 수 & ='. 실제 목표는 무엇입니까?'& ='또는 제공 한 코드 중 무엇을 사용하여 성취하려고합니까? –