Cách tốt nhất để đếm tất cả các phần tử trong một trình lặp là gì?Có bao nhiêu phần tử giữa hai vòng lặp
Tôi muốn mã tương đương này
template<typename T,typename S,S val>
struct ConstantFunctor : unary_function<T,S>
{S operator()(const T&) const {return val;}};
template<typename T>
struct TrueFunctor : ConstantFunctor<T,bool,true>{};
...
count_if(c.begin(),c.end(),TrueFunctor());
cách tốt nhất để làm điều đó là gì?
Tôi có thể sử dụng boost::lambda::constant(true)
, nhưng có thể có điều gì đó rõ ràng hơn.
Tại sao bạn không sử dụng 'std :: distance'? – Vinzenz
@Vinzenz Đó là những gì tôi đang tìm kiếm ... Thaks –
Với tôi * đếm tất cả các yếu tố giữa hai vòng lặp * âm thanh như có được giá trị của các phần tử và tổng hợp chúng, đó là 'tích lũy'. Nếu những gì bạn muốn biết là * có bao nhiêu yếu tố trong phạm vi * Tôi nghĩ nó sẽ có lợi nếu bạn thay đổi tiêu đề câu hỏi. –