나는 void 함수를 사용하여 점 집합의 시작과 끝 (Setiterator set_begin, Setiterator set_end)에 반복자를 인자로 취하고, 계산을 수행 할 쿼리 포인트를 (필자는 결과를 추가하기 위하여려고하고있다) 점 세트의 beginnig에 반복자는std :: transform을 사용하여 계산하는 방법
void computedist(Setiterator set_begin, Setiterator set_end,
Vector const& query_point, DistanceIterator dist_begin)
{
std::transform(set_begin, set_end, dist_begin, calculation);
}
나는 표준으로 : 내가 할 수있는 변환 읽었습니다 그 지점의 전체 집합을 통해 계산하지만 C++을 처음 접했을 때 어떻게 계산을 정의해야하는지 모르겠습니다. 이 경우
, 나는 질의 지점으로 지점의 거리를 계산하려면 :내 계산이
double calc_dist(double query_point, double point_of_the_set){
double dist;
dist = fabs(query_point - point_of_the_set);
return dist;
같이해야한다는 생각을하지만 난 방법을 모른다 필자는 이터레이터를 처음 사용하기 때문에 함수에 대한 논증을 제공한다.
감사합니다.
그것은 같은 소리 ['표준은 : for_each'] (http://en.cppreference.com/w/cpp/algorithm/for_each) 당신을 위해 더 적합 할 수있다 . – NathanOliver
'Vector' 타입이란 무엇이고'double'과 무슨 상관이 있습니까? – Yakk
dist 값을 double로 반환하려고합니다 – Praderas