빈 컨테이너의 경우 std :: all_of() 및 std : none_of()가 모두 true를 반환합니다.std :: all_of() 및 std : none_of()가있는 빈 컨테이너의 좋은 관용구?
이 개념적 측면을 논하는 것 외에도 컨테이너가 비어 있는지 항상 확인하고 all_of 또는 none_of를 확인하라는 요구를하지 않는 관용구를 제안 할 수 있습니까?
빈 컨테이너의 두 알고리즘에서 동일한 조건부를 사용하면 요소의 ALL 및 NONE 모두에 대해 조건부가 참임을 나타낼 수 있다는 점에서이 작업이 번거롭다. 그래서, 여러분의 (빈) 벡터는 all_of "odd", all_of "even", none_of "odd"및 none_of "even"입니다.
실용적인 수준에서 나는 "처리 준비 중"과 같이 상태 항목에 대한 콜렉션을 검사하고 "NO"에 해당하는 빈 콜렉션을 기대합니다. 처리됩니다. " 별도로 비어 있는지 확인할 수 있지만 다른 가능성을 찾고 있습니다.
무엇이 문제입니까? (auto & e : range) 프로세스 (e)에 대해 'if (all_of (range, ready_for_processing))'를 사용하더라도 괜찮습니다. – ipc
빈 컨테이너에 "ready for processing"술어가 true가 아닌 경우 올바른 답과 같습니다. –
'all_of'는 "S의 모든 x에 대해, P (x)"입니다. 'none_of'는 "S의 모든 x,! P (x)"입니다. 'any_of'는 "S에 존재하는 x, P (x)"입니다. 'all_of'와'none_of'는 서로의 부정이 아닙니다 -''S, P (x)의 모든 x에 대해 "!"존재합니다 x,! P (x) "(일명'any_of (... ,! P)')이고'! none_of (...)'는'any_of (...)'이다. – Yakk